一、特殊权限
s:suid,set uid用户在执行此程序时,其进程的属主不再是发起者本人,而是此程序的属主
s:属主原有执行权限
S:属主无执行权限
chmod u+|-s
chmod 4644
s:sgid,set gid 用户在执行此程序时,其进程的属主不再是运行者所属的基本组,而是此程序的属组
s:属组原有执行权限
S:属组无执行权限
chmod g+|-s
chmod 244
t:sticky,粘贴位,附加other的权限上
t:其它组原有执行权限
T:其它组无执行权限
chmod o+|-t
chmod 1644
ugt:
000:0
001:1
010:2
100:4
011:3
101:5
110:6
111:7
二、ACL
用户访问文件鉴权顺序:
1、用户是否为文件属主?
2、用户是否有特定的访问控制条目?
3、用户是否属于文件属组?
4、用户所属的组是否有特定的访问控制条目?
5、其它。
查看ACL:
getfacl /path/to/somewhere
设置ACL:
setfacl –m u:USERNAME:MODE /path/to/somewhere
setfacl –m g:GROUPNAME:MODE /path/to/somewhere
setfacl –R –m u:hadoop:rw /tmp/test #递归设置目录ACL
扩展属性(lsattr 查看扩展属性):
设置ACL权限后,权限位后会有一个“+”号,如果SELinux启用状态下建立文件时会是“.”号,两种情况同时存在时,只显示“+”号。
这里用户组权限位的权限,并不是组权限,而是mask值。
取消设置ACL
setfacl –x u:USERNAME /path/to/somewhere
setfacl –x g:GROUPNAME /path/to/somewhere
额外挂载的文件系统默认不支持acl,如果要支持:
方法1:
mount -o acl DEVICE MOUNT_POINT
永久有效:需要编辑/etc/fstab,在挂载选项后附加acl选项;
方法2:(设定分区的默认挂载选项中有acl,则挂载时无须再指定acl;)
tune2fs -o acl PARTITION
取消此默认挂载选项:
tune2fs -o ^acl PARTITION
[root@server1 tmp]# tune2fs -o acl /dev/sdc1 tune2fs 1.41.12 (17-May-2010) [root@server1 tmp]# [root@server1 tmp]# tune2fs -l /dev/sdc1|grep "Default mount options" Default mount options: acl |