Linux文件或目录的权限是和用户和用户组联系在一起的,所以也需要理解这部份内容。
每个文件或目录都有一组9个权限位,每三位被分为一组,他们分别是属主权限位(占三个位置 )、用户组权限位(占三个位置)、其它用户权限位(占三个位置)。比如rwxr-xr-x ,我们数一下就知道是不是9个位置了,正是这9个权限位来控制文件属主、用户组以及其它用户的权限。
关于权限位;
Linux文件或目录的权限位是由 9 个权限位来控制,每三位为一组,它们分别是文件属主(Ower)的读、写、执行,用户组(Group)的读、写、执行以及(Other)其它用户的读、写、执行;
文件属主: 读r、写w、执行x 用 户 组 : 读r、写w、执行x 其它用户: 读r、写w、执行x 如果权限位不可读、不可写、不可执行,是用-来表示。
对于普通文件的读、写、执行权限可以这样理解:
可读:意味着我们可以查看阅读;
可写:意味着,可以修改或删除(不过删除或修改的权限受父目录上的权限控制);
可执行:意味着如果文件就可以运行,比如二进制文件(比如命令),或脚本(要用脚本语言解释器来解释运行)。
比如:
-rwx------ 1 root root 57 2011-03-08 17:00 hehe.txt
改变权限的命令 chmod
chmod 是用来改变文件或目录权限的命令,但只有文件的属主和超级权限用户root才有这种权限。通过chmod 来改变文件或目录的权限有两种方法,一种是通过八进制的语法,另一种是通过助记语法;
现在用助记语法解释含义
chmod 的助记语法相对简单,对文件或目录权限的改变时,是通过比较直观的字符的形式来完成;在助记语法中,相关字母的定义;
用户或用户组定义:
u 代表属主
g 代表属组
o 代表其它用户
a 代表属主、属组和其它用户,也就是上面三个用户(或组)的所有;
权限定义字母:
r 代表读权限;
w 代表写权限;
x 代表执行权限;
权限增减字符;
- 代表减去相关权限;
+ 代表增加相关权限;
示例一:
[root@fengge ~]# ls -l /home/lijing/yes total 4 -rwx------ 1 root root 57 2011-03-08 17:00 hehe.txt [root@fengge ~]# chmod o+wrx /home/lijing/yes/hehe.txt [root@fengge ~]# ls -l /home/lijing/yes total 4 -rwx---rwx 1 root root 57 2011-03-08 17:00 hehe.txt [root@fengge ~]#
用助记语法比较灵活,组合起来比较方便;比如;
u=r+x 为文件属主添加读写权限;
ug=rwx,o=r 为属主和属组添加读、写、执行权限,为其它用户设置读权限。
a+x 为文件的属主、属组和其它用户添加执行权限;
g=u 让文件的属组和属主和权限相同;
对于目录权限的设置,要用到-R参数;
和八进制方法一样,如果我们为一个目录及其下的子目录和文件具有相同的属性,就可以用-R参数;
[root@localhost ~]# chmod -R a+rwx /home/lijing/yes/