文件及目录的权限详解

1 [root@server0 /]# ls -l
2 total 40
3 lrwxrwxrwx.   1 root root    7 Mar 29 19:38 bin -> usr/bin
4 dr-xr-xr-x.   3 root root 4096 Mar 29 14:01 boot
5 -rw-r--r--.   1 root root   52 Apr  1 17:02 opt.nsd

ls -l   查看文件的详细属性。或者长格式显示文件。

文件类型及权限     所主   属组   文件大小  月  日   时间  文件名 

lrwxrwxrwx.        1    root      root         7         Mar   29    19:38      bin -> usr/bin
dr-xr-xr-x.        3    root      root        4096       Mar   29    14:01      boot 
-rw-r--r--.        1    root      root         52        Apr   1     17:02      opt.nsd
上述“文件类型及权限”项中:
l:表示该文件类型为:链接文件或者快捷方式
d:表示该文件为一个目录。
-:表示该文件为一个常规文件。
r:表示读权限 可以查看文件内容,可以查看目录内容。
w:表示写权限     可以更改目录内的内容。创建和删除。
x:表示可执行权限   可以切换到此目录内。

修改权限:
chmod:修改文件属主属组权限。
chmod u=rwx 设置属主的权限为可读可写可执行
chmod g=rwx
设置属组的权限为可读可写可执行
chmod o=rwx
设置属主的权限为可读可写可执行
chmod u+x 属主用户添加执行权限
chmod 755 设置属主权限为rwx,属主权限为r-x,其他人权限为r-x

chmod -R 755 /nsddir 递归设置权限,该目录下的所有文件及子目录的权限都设置为rwxr-x---
    -R 表示递归授权。


设置文档归属:
chown:修改文档的属主和属组。
chown zhangshan:natasha /nsddir 修改目录/nsddir属主为zhangshan,属组为natasha。
1 [root@server0 /]# chown harry:natasha nsddir/
2 [root@server0 /]# ll |grep "nsddir"
3 drwxr-x---.   4 harry natasha   42 Apr  4 17:09 nsddir
4 [root@server0 /]# 
chown root nsddir     修改nsddir目录的属主为root
1 [root@server0 /]# chown root nsddir
2 [root@server0 /]# ll |grep "nsddir"
3 drwxr-x---.   4 root natasha   42 Apr  4 17:09 nsddir
4 [root@server0 /]# 
chown :root nsddir     修改nsddir目录的属组为root
1 [root@server0 /]# chown :root nsddir
2 [root@server0 /]# ll |grep "nsddir"
3 drwxr-x---.   4 root root   42 Apr  4 17:09 nsddir
4 [root@server0 /]# 

附加权限(特殊权限):

适用于目录。将属组的x为改成s。  当目录所属组原本没有x权限,则将-改成S.

chmod g+s /nsddir      表示该目录具有特殊权限。可以使目录下新增的文档自动设置成与父目录相同的属组。继承父目录的属组身份

[root@server0 ~]# ll |grep "nsd07"                    #创建nsd07目录后的该目录权限
drwxr-xr-x. 2 root root      23 Apr  4 17:53 nsd07
[root@server0 ~]# chmod g+s nsd07             #将该目录设置为特殊权限
[root@server0 ~]# ll |grep "nsd07"                    #查看设置特殊权限后的该目录属性,发现属组权限改为了r-s.
drwxr-sr-x. 2 root root      23 Apr  4 17:53 nsd07
[root@server0 ~]# chmod g-x nsd07                     #去掉该目录所属组的执行权限
[root@server0 ~]# ll |grep "nsd07"            #查看取消取消执行权限并保留特殊权限后该目录的属性,发现属组的权限改为了r-S.
drwxr-Sr-x. 2 root root      23 Apr  4 17:53 nsd07

通过上述实践可知:

当源目录属组具有可执行权限时,添加特殊权限后,属组的权限将x改为了s.

当源目录属组不具有可执行权限时,添加特殊权限后,属组的权限将x改为了S.

特殊权限(s):作用是设置了特殊权限后的目录,目录内新增的文档会继承父目录的属组身份。也就是父目录nsd01的属性为 yck:natasha   。当创建子目录或者子文件时,子文件或者子目录会继承父目录的属组身份natasha。如:harry:natasha -----------nsd001。


[root@server0 ~]# chown :harry nsd07                   #将nsd07的属组更改为harry
[root@server0 ~]# ll |grep "nsd07"                     #查看nsd07的属性,属组为harry,且具有特殊属性。
drwxr-sr-x. 3 root harry      33 Apr  4 18:07 nsd07   
[root@server0 ~]# cd nsd07                             #切换至nsd07目录                      
[root@server0 nsd07]# mkdir adminuser                  #创建子目录adminuser
[root@server0 nsd07]# ll |grep adminuser               #查看新增子目录adminuser属性,发现属组继承了harry组。本身基本组应该为root。 
drwxr-sr-x. 2 root harry 6 Apr  4 18:08 adminuser

ACL权限:

命令: setfacl -m u:admin:rw /nsd001            #配置acl权限。

getfacl /nsd001     #查看acl信息 







原文地址:https://www.cnblogs.com/mython/p/10656402.html