这条命令列举了/bin/login文件主要信息第1段的第1个字符表示文件类型,在上例中是“-”,表示这是一个普通文件
接出来的rwxr-xr-x就是3组权限位,这9个字符应当被这样断句:rwx、r-x、r-x,表示属主、属组和其他人所拥有的权限。r表示可读取,w表示可写,x表示可执行,假如某个权限被经用,这么就用一个短划线“-”代替。在这个事例中,属主拥有读、写和执行权限,属组和其他人拥有读和执行权限。
第3个和第4个数组分别表示文件的属主和属组、在这个事例中,login文件的属主是root,而属组是root组
紧跟随3组权限位的数字表示该文件的链接数量,这儿是1,表示该文件只有一个硬链接
最后的4个数组分别表示文件大小(38096字节)、最后更改的是日期和时间,以及这个文件的完整路径
要查看一个目录的属性,应当使用-ld选项$ ls -ld /etc/
drwxr-xr-x 135 root root 12288 2016-11-20 10:20 /etc
最后,不带文件名作为参数的ls-l命令,列举当前目录下所有文件(不包括隐藏文件)的属性
改变文件所有权:chown和chgrp
chown命令用于改变文件的所有权,基本句型如下:
chown …FILE…
这条命令将文件FILE的属主改变为OWNER,属组改变为GROUP,下边这条命令,将文件days属性修改为lewis,属组为root组$ ls -l days ## 查看当前days的所有权
-rw-r--r-- 1 guest guest 57 2016-11-20 10:20 days
$ ls -chown lewis: root days ## 更改days的所有权
$ ls -l days ## 查看更改后的days的所有权
-rw-r--r-- 1 lewis root 57 2016-11-20 10:21 days
若果只须要修改文件的属主,这么可以省略参数“:GROUP”,下边这条命令把days文件的属主修改为guest用户,而保留其属组设置$ sudo chown guest days
相应的,可以省略参数OWNERlinux查看操作系统,而只改变文件的属组,注意,不能省略组名GROUP后面的这个“:”。下边这条命令把days文件夹的属组修改为nogroup组,而保留其属主设置$ sudo chown :nogroup days
chown命令提供了-R选项,用于改变一个目录及其下所有文件(和子目录)的所有权设置,下边这条命令将iso/和其下所有的文件交给用户lewis$ sudo chown -R lewis iso/
查看这个目录的属性可以看见,所有文件和子目录的属主早已弄成lewis用户了,若果想属主和属组同时修改,就用-Rlewis:lewis命令
Linux单独提供了另一个命令chgrp用于设置文件的属组,下边这条命令将文件days的属组设置为nogroup组$ sudo chgrp nogroup days
和chown一样,chgrp也可以使用-R选项递归一个目录施行这只,下边这条命令将iso/和其下所有文件(和子目录)的属组设置为root组$ sudo chgrp -R root iso/
chgrp命令实际上只是实现了chown的一部份功能,但这个命令起码在名子上更直观告诉人们它要干哪些,实际使用中,也仅仅只是习惯问题
改变文件权限:chmod
chmod用于改变一个文件权限,这个命令使用“用户组+/-权限”的抒发方法来降低删掉响应的权限,具体来说,用户组包括了文件属主(u)、文件属组(g)、其他人(o)和所有人(a),而权限则包括了读取(r)、写入(w)和执行(x),比如,下边这条命令降低了属主对文件days的执行权限$ chomd u+x days
chomd可以用a同时指定所有的3种人,下边这条命令删掉所有人(属主、属组和其他人)对days的执行权限$ chomd a-x days
还可以通过“用户组=权限”的规则直接设置文件权限,同样应用于文件days,下边这条命令赋于属主和属组的读取/写入权限,而仅赋于其他用户读取权限$ chomd ug=rw,o=r days
最后一条常用规则是“用户组1=用户组2”,用于将用户组1的权限和用户组2的权限设置为完全相同,应用于文件days中,下边这条命令讲其他人的权限设置为和属主的权限一样$ chomd o=u days
提示:谨记只有文件的属主和root用户才有权更改文件的权限
文件权限的八补码表示
chomd的助记符虽然意义明晰,但有些时侯变得太罗嗦了,系统管理员更喜欢用chomd的八补码句型来更改文件权限——这样就可以不用麻烦左右手的食指了linux 权限 所有用户linux视频,因此管理员起码应当熟练把握8以内的除法运算。
首先介绍一下八补码记法的由来,每一组权限rwx在计算机中实际上占用了3位,每一位都有两种情况,比如对于写入位,只有“设置(r)”和没有设置(-)两种情况。这样计算机就可以使用二补码0和1来表示每一个权限位,其中0表示没有设置,1表示设置,比如rwx就被表示为111,“-w-”表示为010等。
因为3位的二补码数对应1位八补码数,因而可以进一步用一个八补码数字表示一组权限,下边表格显示了对应的关系八补码二补码权限八补码二补码权限
0000—5101r-w
1001--x6110rw-
2010-w-7111rwx
3011-wx
4100r--
毋须记住前面那些数字的排列组合,在实际中,只要记住1代表x、2代表w、4代表r、、然后简单的做除法就可以了,距离来说:rwx=4+2+1=7linux 权限 所有用户,r-w=4+0+1=5。
这样依赖,完整的9位权限就可以用3个八补码数来表示了,比如“rwxr-x--r”就对应于“751”,下边这条命令将文件prog的所有权限赋于属主,而属组用户和其他人仅有执行权限$ chomd 711 prog
$ ls -l prog