Attr 權限 和 ACL 通路控制清單
- Attr 權限裡的 “a” 權限和 “i” 權限
a :全名append only
隻允許追加資料,不允許任何使用者改動檔案(超級使用者也不行)
甚至不能正常的删除檔案
隻能讀取檔案内容,隻能用 “echo” 追加内容
chattr +a xxx #增加 a 權限
chattr -a xxx #取消 a 權限
lsattr #檢視權限
[root@deng-120 /test]# touch abc #自行建立一個 abc 檔案
[root@deng-120 /test]# chattr +a abc/ #給 abc 加上 “a” 權限
[root@deng-120 /test]# lsattr #檢視 “a” 權限
-----a---------- ./abc
[root@deng-120 /test]# echo "hello" >> abc #可用“echo”把内容追加到 abc 檔案中
[root@deng-120 /test]# vim abc #編輯檔案
abc儲存退出的時候會發現無法儲存,隻能退出不做修改;表示 “a” 權限隻能對檔案的追加而不能進行修改

i :全名immutable
不允許對這個檔案進行任何的修改(超級使用者也不行)
不能正常的删除檔案
隻能讀取檔案内容,不能用 “echo” 追加内容
chattr +i xxx #增加 i 權限
chattr -i xxx #取消 i 權限
lsattr #檢視權限
[root@deng-120 /test]# chattr +i abc #給 abc 加上 “i” 權限
[root@deng-120 /test]# lsattr #檢視 “i” 權限
----i----------- ./abc
[root@deng-120 /test]# echo "hello" >> abc #用“echo”把内容追加到 abc 檔案中
-bash: abc: 權限不夠
權限不夠,表示 “i” 權限的特性就是不允許做任何的修改删除,隻能讀取
- ACL:通路控制清單
-m 設定一個ACL權限
-x 取消一個ACL權限
-b 清除所有的 ACL 權限
[root@deng-120 /test]# setfacl -m u:rosen1:rw- /test/abc # rosen1 讀和寫權限
[root@deng-120 /test]# setfacl -m u:rosen2:--- /test/abc # rosen2 沒有任何權限
[root@deng-120 /test]# chown zhang3 abc #修改所有者為zhang3
[root@deng-120 /]# getfacl /test/abc
# file: test/abc #檔案所在的路徑
# owner: zhang3 #檔案附加所有者
# group: root #檔案所屬組
user::rw- #使用者權限
user:rosen1:rw- # rosen1 讀和寫權限
user:rosen2:--- # rosen2 沒有任何權限
group::r-- #使用者所屬組權限
mask::rw- #除了 root 集體控制附加所有者的最大權限
other::r-- #其他人隻讀權限
修改 “mask” 值: setfacl -m m:rwx /test/abc