之前总结ls命令的时候也有讲过权限,那么这次是把权限更加细化,分享给大家。
首先,我们再次执行ls -l
命令查看一下。
其实这个在我的学习笔记6有详细说明,在这里分析一下这9位权限位。
我们拿这个为例子:
我们从第二位开始拆分为三段 rwx r-x r-x
r:可读 w:可改写 x:可执行 - :没有该权利
第一段(rwx)表示的是:文件所有者的权限(这里有可读可改写可执行权限)
第二段(r-x)表示的是:文件的所属组(用户组)(这里有可读,可执行权限)
第三段(r-x)表示的是:除以上两种的其他用户(这里有可读,可执行权限)
在图中也分析了所有者,所属组中用户的名字。那么我之前在home里面创建了一个用户叫CJ,那么这个CJ没有在所属组中,则称为 其他用户。
那么以上的三种权限,也可以用数字表示:
r=4 w=2 x=1
例如:rwxr-xr-x 这个权限表示为:755(注意:是一段段计算,不是全部加起来)
搞清楚以上的东西之后,就可以开始接触chmod命令(change mode)
如果我要把上图2.txt文件的权限修改一下:改为所有者读写执行都可以,其他都没权利
chmod 700 /tmp/CJlinux/1/2/2.txt
chmod其他用法1:chmod -R
可以一次性更改目录下的子目录以及文件的权限
首先我们如果要用chmod修改目录时:
子目录以及子文件都没有因为目录1的权限修改而改变,如果要全部修改的话,比较麻烦。
那么我们可以chmod -R
命令一次性修改
chmod其他用法2:直接使用r w x 去修改权限
比如我们要把所有者的权限改为可读 所属组改为可写 其他用户改为可执行
chmod u=r,g=w,o=x /tmp/CJlinux/1/a.txt
这种方法比较直观,但是比较繁琐,建议还是使用数字表示
在这里 u表示所有者,g表示用户所属组,o表示其他用户
但是这种方法修改权限不能出现 “-”
chmod其他用法3:
a:表示所有用户
chmod a+x /tmp/CJlinux/1/a.txt
当然我们还可以有 a-x 表示所有用户去掉执行权限
u +x , g -w ,o+r 这些用法都是可以的,这里就不一一说明了。
再次提醒:
a:表示所有用户(所有者以及所属组以及其他用户)
u:表示文件所有者
g:表示文件用户所属组
o:表示其他用户
chown命令(change owner):修改所有者或者所属组
首先我们通过cat /etc/passwd/
来查看一下系统中的用户有哪些
后面我们再次看看之前的a.txt文件的权限信息:
这里可以看到他的所有用户以及所属组都是root
那么我们现在就使用chown命令去更改一下
chown CJ /tmp/CJlinux/1/a.txt
刚刚是更改所有者,如果要更改所属组,可以使用chgrp命令
chgrp CJ /tmp/CJlinux/1/a.txt
除了运用chgrp命令方法更改所属组,其实chown也可以更改所属组
在这里一次性使用chown更改所有者以及所属组
chown CJ2:root /tmp/CJlinux/1/a.txt
这里所有者改为CJ2,所属组改为root,中间用 “ : “隔开
如果只需要更改所属组的话,直接把 : 前面空了就可以了
chown命令也可以像chmod命令一下
chown -R CJ:CJ /tmp/CJlinux/1/
在修改1目录的所有者以及所属组的同时以及其下的子目录以及子文件的所属组也会被更改。
以上内容纯属本人小白初学Linux系统的一次学习笔记,如果对您有所帮助,我很高兴。若有写错或者说错的地方,请您多多包涵,望有更多大神来指点迷津,谢谢。