1、創建組sales,gid 3000,passwd:centos,sales admins:user2
將用戶user1,user2,user3加入到sales輔助組
希望user1 創建新文件 默認的所屬組為sales
user2將用戶user3從sales組移除
# groupadd -g 3000 sales
# gpasswd sales
# useradd -G sales user1
# useradd -G sales user2
# useradd -G sales user3
# gpasswd -A user2 sales
# su user2
# gpasswd -d user3 sales
2、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。
# mkdir -pv /date/testdir
# groupadd g1
# groupadd g2
# groupadd g3
# chown :g1 /date/testdir
# chmod 750 /date/testdir
# chmod g+s /date/testdir
# setfacl -Rm d:g:g2:rw /date/testdir
# setfacl -Rm d:g:g3:r /date/testdir
# getfacl /date/testdir
# usermod -g g1 user1
# usermod -g g2 user2
# usermod -g g3 user3
# su user1
$ touch f1
$ ll
$ echo xxx > f1
$ cat f1
$ exit
# getfacl f1
3、三種權限,三種特殊,acl,chattr 總結
文件權限
文件:
r: 可使用文件查看類工具獲取其內容
w: 可修改其內容
x: 可以把此文件提請內核啟動為一個進程
目錄:
r: 可以使用ls 查看此目錄中文件列表
w: 可在此目錄中創建文件,也可刪除此目錄中的文件
x: 可以使用ls -l 查看此目錄中文件列表,可以cd進入此目錄
Linux文件系統上的特殊權限
SUID, SGID, Sticky
SUID權限:
SUID只作用與可執行的二進制文件上
用戶運行該程序時,自動繼承該程序所屬主的權限
SGID權限:
作用在二進制的程序上:
用戶運行該程序時,自動繼承該程序所屬組的權限
作用在目錄上:
該目錄內新建的文件或目錄的所屬組自動繼承與該文件的所屬組
Sticky權限:
防止某些用戶對該目錄有權限,則胡亂刪除該目錄下的(屬主是自己或屬主不是自己)文件
在目錄設置Sticky位,只有文件的所有者或root可以刪除該文件,即除root用戶外,其他用戶只能刪除屬主是自己的文件
ACL:訪問控制列表 Access Control List
除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限
比如設置某一用戶能以rwx權限訪問一指定文件,而其他用戶按照u,g,o權限對文件進行訪問
getfacl file |directory
查看文件或目錄的訪問控制列表
setfacl -m u:gao:rx file|directory
設置gao用戶,對目錄或文件,不以u,g,o所對應的權限訪問文件,而是以rx權限訪問文件
setfacl -m d:u:gao:rx directory
設置gao用戶,對目錄及以后該目錄下此命令以后創建的文件,以rx權限訪問
setfacl -M file.acl file|directory
以文本的形式,,對多個用戶設置某一目錄或文件的ACL
setfacl -m d:u:gao:rx directory
清除指定用戶的ACL
setfacl -b file1
清除文件所有ACL權限
chattr
+i 不能刪除,改名,更改,只能看
+a 不能刪除,改名,更改,只能增加
+A FILE 鎖定文件,可以防止root用戶的誤操作
原創文章,作者:megedugao,如若轉載,請注明出處:http://www.www58058.com/28178