在linux中的每个用户必须属于一个组,不能独立于组外。每个文件有所有者、所属组、其它组的概念。


所有者

一般为文件的创建者,谁创建了该文件,自然成为该文件的所有者,也可以使用chown来修改文件的所有者。


所属组

当某个用户创建了一个文件后,这个文件的所属组就是该用户所属的组,也可以使用chgrp来修改文件所属的组。


其它组

除了文件的所有者和所属组的用户外,系统的其它用户都是文件的其它组。




文件和目录权限

文件权限规定了文件所有者对文件/目录的权限、文件所属用户组的成员对文件/目录的权限、其他用户对于文件/目录的权限。

 r:可读权限

w:可写权限

 x:可执行权限

 

对于目录和文件来说,这些权限代表的意义是不同的。

对于文件:

 r:可以读取文件的内容。

w:可以写入文件内容,不能删除文件,如果要赋予删除文件的权限,则需要指定目录权限。

 x:执行文件,不是每个文件都需要这个权限的,比如txt文件不需要。

 

对于目录:

 r:可以读取目录下的目录结构,即能够执行ls查看目录下的文件名。

w:能够改变目录的结构,即添加、删除目录下的文件、对文件重命名。

 x:能够进入目录,即cd到该目录。



ls -l查看文件或者目录

第一位字符代表文件(-)、目录(d),链接(l)。

4e184b61cdf1a06dcc4f41abe0494240.png-wh_

746fe6fe529a5594556111c05eac1264.png-wh_

后九位的权限划分为三段,第一段是所有者的权限,第二段是所属组的权限,第三段是其它用户对这文件的权限。



chmod命令

改变文件或目录的权限。

权限可表示为rwx:

r为读,w为写,x执行,---为无权限。

例:-rwxrwxrwx .   1 root root   所有者是root,所属组是root组,所有用户对这个文件可读可写可执行。


数字表示:

7=rwx   读、写、执行权限

6=rw-   读、写权限

5=r-x    读、执行权限

4=r--    读权限

3=-wx   写、执行权限

2=-w-   写权限

1=--x    执行权限



#chmod 700 a.txt或#chmod u=rwx,g=-rwx,o=-rwx     修改为root对a.txt有rwx权限。

6d4e015b0318f52bcd6f6faed19a0313.png-wh_

u:所有者       g:所属组   o:其他用户    a:所有用户

+加入权限,-除去权限,=设置权限。




chown命令

改变文件或目录的所有者或所属组。


#chown user1           修改所有者为user1

#chown:user2           修改所有组为user2

#chgrp  user2           修改所有组为user2

#chown user1:user2  同时修改所有者和所有组。

#chmod -R  递归处理,可将目录下的所有文件及子目录一并修改。




umask

用来设置限制新建文件权限的掩码。

创建的目录默认权限是755。

198d5f6dec88c2c776449474a2576470.png-wh_


创建的文件默认权限是644。

f4d29bf71accd8ee26f1a665d9950632.png-wh_


是因为usmask默认是0022 ,所以777-022=755(目录权限),666-022=644(文件权限)。

d93023d688659ec8a3c4130e9a2e97b7.png-wh_


例:把umask设置为0002,创建的目录权限便是775,文件默认权限是664。

注意:用户对目录须有X权限,否则无法打开。





文件隐藏属性

a:文件只能添加内容,不能修改、移动、删除,常用于日志文件。

i :文件不能修改、移动、删除,即使root也不行,用于固定不变的文件。


lsattr命令

查看文件或目录的隐藏属性。

93dd7367081c0cae29b2aee27312df5e.png-wh_



chattr命令

改变文件或目录的隐藏属性。

chattr +a  添加a属性

1046854b7d3add363333fa163ce63c0e.png-wh_


chattr +i   添加i属性

spacer.gifQQ图片20171220144650.png


需要spacer.gif删除i、a权限,使用chattr -i 、chattr-a或chattr -ia即可。


j_0035.gif

spacer.gif