Files

如何為每個使用者授予不同的權限?

  • August 1, 2016

所以,我已經使用 Linux 幾年了,我真的應該知道這個答案,但是我很難找到它。具體來說,我一直在使用基於 Debian 的發行版……主要是 Ubuntu。

如果我有一個伺服器,它有三個以上的使用者,我如何為每個使用者設置不同的文件權限集。

例如:

如果我有一個具有這些權限和所有權的文件:

rwx rw_ r__ user1:group1 file1.txt

我有 3 個具有這些所需權限的使用者….

  • 使用者1 rwx
  • 使用者 2 rw_
  • 使用者 3 r__

我所要做的就是讓user1擁有文件,user2group1中,而user3兩者都不能——對嗎?

但是,如果我有一個user4user5 怎麼辦

  • 使用者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 。

引用自:https://unix.stackexchange.com/questions/298382