Files
如何為每個使用者授予不同的權限?
所以,我已經使用 Linux 幾年了,我真的應該知道這個答案,但是我很難找到它。具體來說,我一直在使用基於 Debian 的發行版……主要是 Ubuntu。
如果我有一個伺服器,它有三個以上的使用者,我如何為每個使用者設置不同的文件權限集。
例如:
如果我有一個具有這些權限和所有權的文件:
rwx rw_ r__ user1:group1 file1.txt
我有 3 個具有這些所需權限的使用者….
- 使用者1 rwx
- 使用者 2 rw_
- 使用者 3 r__
我所要做的就是讓user1擁有文件,user2在group1中,而user3兩者都不能——對嗎?
但是,如果我有一個user4和user5 怎麼辦。
- 使用者4 _wx
- 使用者5 __x
我該如何設置?
我以前不必這樣做,但是 Windows 管理員問我這個問題,老實說,我無法回答。
傳統的 unix 權限只允許您找到的使用者、組和其他權限。這些可能會導致需要創建一些尷尬的組組合……
因此添加了一種新形式的 ACL(訪問控制列表)。這允許您指定具有不同權限的多個使用者和多個組。這些是用
setfacl
命令設置並用getfacl
$ setfacl -m u:root:r-- file.txt $ setfacl -m u:bin:-wx file.txt $ setfacl -m u:lp:--x file.txt $ getfacl file.txt # file: file.txt # owner: sweh # group: sweh user::rw- user:root:r-- user:bin:-wx user:lp:--x group::r-- mask::rwx other::r--
ls
您可以通過查看輸出輕鬆判斷文件是否具有 ACL :$ ls -l file.txt -rw-rwxr--+ 1 sweh sweh 0 Jul 26 10:33 file.txt
+
權限末尾的 表示 ACL 。