linux权限归属及特殊权限设置
访问权限:
读取:允许查看内容 -read
写入:允许修改内容 -write
可执行:允许运行和切换 -excute
(以上三点rwx共同决定最终权限)
归属关系:
所有者:拥有此文件/目录的用户 -user
所属组:拥有此文件/目录的组 -group
其他用户:除所有者,所属组以外的用户 -other
所有用户:以上三类归属合称 -all
解析文件/目录权限:
权限位的8进制数表示:r,w,x分别对应4,2,1,后三组分别求和
—————————————————————————
分组 | User权限 | Group权限 | Other权限|
字符 | r w x | r - x | r - x |
数字 | 4 2 1 | 4 0 1 | 4 0 1 |
求和 | 7 | 5 | 5 |
—————————————————————————
权限控制:
设置基本权限:chmod命令
格式:chomd [ugoa][+-=][rwx] 文件
chmod [nnn] 文件
常用命令选项:
-R:递归修改权限
新建文件/目录的默认权限
一般文件默认均不给x执行权限,其他取决于umask设置
[root@room1pc01 ~]# umask
0022
[root@room1pc01 ~]# umask -S
u=rwx,g=rx,o=rx (新目录755,新文件644)
————————————————————————————————————————————————————————
设置归属关系:
所有者>所属组>其他人
chown命令
格式:chown 属主 文件
chown 属主:属组 文件
chown :属组 文件(等效于chgrp命令。专改属组)
常用命令选项:
-R:递归修改权限
操作:
[root@room1pc01 ~]# ls -ld /nsd/
drwxr-xr-x 2 root root 4096 6月 5 13:50 /nsd/
[root@room1pc01 ~]# chown Anonymous:Anonymous /nsd/(修改为Anonymous主Anonymous组)
[root@room1pc01 ~]# ls -ld /nsd/
drwxr-xr-x 2 Anonymous Anonymous 4096 6月 5 13:50 /nsd/
[root@room1pc01 ~]# chown root:Anonymous /nsd/(修改为root主Anonymous组)
[root@room1pc01 ~]# ls -ld /nsd/
drwxr-xr-x 2 root Anonymous 4096 6月 5 13:50 /nsd/
——————————————————————————————————————————————
特殊权限
叠加于权限位的u,g,o分组之上,用来传递程序执行身份,限制目录写入权。
特殊权限分类:
类别 字符表示 数字表示 叠加位置
Set UID s 4 User的x位
Set GID s 2 Group的x位
Sticky Bit t 1 Other的x位
查看:
[root@room1pc01 桌面]# ls -ld /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 22 2012 /usr/bin/passwd
Set UID
SUID权限:
占用属主(User)的x位
显示为s或S,取决于属主是否有x权限
仅对可执行的程序有意义
传递所有者身份
Set GID
SGID权限:
占用属组(Group)的x位
显示为s或S,取决于属主是否有x权限
对可执行的程序/目录有效
当其他用户执行带SGID标记的程序时,具有程序属组的身份和相应权限
在一个具有SGID权限的目录下,新建的文档会自动继承次目录的属组身份
Sticky Bit
粘滞位,
占用其他人的x位,显示为t或者T,取决于其他人是否有x权限
适用于目录,用来限制用户滥用写入权
在设置了粘滞位的文件夹下,即使用户有写入权,也不能删除或改名其他用户文档。
———————————————————————————————————————
ACL权限
EXT系列文件系统支持,
可以为个别用户,组设置独立的rwx权限
为目录设置新建子档案的默认rwx权限
查看ACL权限:
[root@room1pc01 桌面]# tune2fs -l /dev/sda2 |grep acl
Default mount options: user_xattr acl
定义ACL控制策略
setfac命令:
格式:setfacl [选项] u:用户名:权限 文件
setfacl [选项] g:组名:权限 文件
常用命令选项:
-m:定义一条ACL策略
-x:清除指定的ACL策略
-b:清除所有已设置的ACL策略
-R:递归设置ACL策略
-d:为目录设默认权限(子文档自动继承)