一、特殊權限
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 |