Linux用户权限

 每个Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。
    利用ls -l命令可以看到某个文件或目录的权限,它以显示数据的第一个字段为
    准。第一个字段由10个字符组成,如下:
        -rwxr-xr-x
    第一位表示文件类型,-表示文件,d表示目录
    2-4位表示文件所有者的权限,u权限
    5-7位表示文件所有者所属组成员的权限,g权限
    8-10位表示所有者所属组之外的用户的权限,o权限  
    2-10位的权限总和有时称为a权限

chmod

该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。chmod 是用来改变文件或目录权限的命令,但只有文件的属主和超级权限用户root才有这种权限。

 

我们前面已经说了,文件或目录的权限位总共有9个位置 ,文件属主、文件所归属的组占用三位和其它用户各占用三个位置。看个例子: 

-rwxr-xr-x 1 root root 0 04-23 20:11 linuxsir007.txt   

说明:

1. chmod 的八进制语法的数字说明;

r     4
w     2 
x     1 
-     0

属主的权限用数字表达:属主的那三个权限位的数字加起来的总和。比如上面的例子中属主的权限是rwx ,也就是4+2+1 ,应该是7;

属组的权限用数字表达:属组的那个权限位数字的相加的总和。比如上面的例子中的r-x ,也就是4+0+1 ,应该是5;

其它用户的权限数字表达:其它用户权限位的数字相加的总和。比如上面例子中是 r-x ,也就是4+0+1 ,应该是5;

例如:改变一个文件的权限

但是对于一个文件夹

1.如果想改变文件夹本身的权限而不改变其子文件的权限,不加任何参数

查看文件夹以及文件夹下全部子文件

2. 改变自身和子文件夹权限

3.不改变自身权限,只改变子文件夹权限

 

[root@localhost ~]# chmod -R 644  bin/.[a-z]* 

上面的例子chmod 会匹配所有以.a到.z 开头的文件。

 

2 通过 chmod 助记语法来改变文件或目录的权限

chmod 的助记语法相对简单,对文件或目录权限的改变时,是通过比较直观的字符的形式来完成;在助记语法中,相关字母的定义;

用户或用户组定义:

u 代表属主

g 代表属组

o 代表其它用户

a 代表属主、属组和其它用户,也就是上面三个用户(或组)的所有;

权限定义字母: r 代表读权限; w 代表写权限; x 代表执行权限;

权限增减字符;

- 代表减去相关权限; + 代表增加相关权限;


[root@localhost ~]# chmod ugo-x linuxsir007.txt  注:把属主、用户组及其它用户的执行权限都减掉

[root@localhost ~]# chmod u+x linuxsir007.txt  注:为文件的属主增加执行权限 

[root@localhost ~]# chmod u-x,go+rw linuxsir007.txt  注:减去文件属主对文件的执行权,增加属组和其它用户对文件的可读可写权

 

用助记语法比较灵活,组合起来比较方便;比如;

u=r+x 为文件属主添加读写权限;

ug=rwx,o=r 为属主和属组添加读、写、执行权限,为其它用户设置读权限。

a+x 为文件的属主、属组和其它用户添加执行权限;

g=u 让文件的属组和属主和权限相同;

 

 

对于目录权限的设置,要用到-R参数;

和八进制方法一样,如果我们为一个目录及其下的子目录和文件具有相同的属性,就可以用-R参数; 

[root@localhost ~]# chmod -R a+rwx testdir/

 

 

 

 

 

 

Linux用户权限,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。