2013-10-01 66 views
3

我在我的服務器上擁有root用戶權限,我想爲特定用戶組和用戶授予權限。有一個情況下,有目錄樹:如何將某些用戶權限授予子文件夾

dir1 
    ├── subdir1 
    ├── subdir2 
    ├── subdir3 

我有三個用戶(用戶1,用戶2,用戶3) - 我想他們每個人有權限只有一個目錄(用戶1 - subdir1,用戶2 - subdir2 ,user3 - subdir3)。 User1不應該能夠看到什麼int subdir2或subdir3,但他不能看到它們存在,與其他用戶及其目錄相同。

我使用getfacl和setfacl命令給出保留。

這些用戶對dir1和subdirs有什麼權限?

+0

(這個問題屬於StackOverflow?投票將其移動到ServerFault或超級用戶) – Jet

回答

5

要允許所有用戶看到文件列表中dir1設置權限0755到這個文件夾

$ chmod dir1 0755 

要分隔訪問子文件夾指定所有者的每個文件夾:

$ cd dir1 

$ chown user1:user1 -R subdir1 
$ chown user2:user2 -R subdir2 
$ chown user3:user3 -R subdir3 

現在讓子文件夾只可讀爲他們的主人:

$ chmod user* 0700 

現在所有用戶se e文件夾用戶*存在,但他們只能在自己的文件夾中輸入

更新 對不起,無法在評論中設置文本格式。

當我有更多的用戶比這三個,我想只有這三個 能夠進入dir1 - 那麼呢?

然後,您必須爲它們分配一個特殊組,並允許該組讀取dir1的內容。

創建組specialusers

$ groupadd specialusers 

添加用戶,這組

$ usermod -aG specialusers user1 
$ usermod -aG specialusers user2 
$ usermod -aG specialusers user3 

在允許specialusers讀取文件夾

$ chown root:specialusers dir1 
$ chmod dir1 0750 

現在從組specialusers的用戶才能看到列表文件夾下dir1

+0

當我有更多的用戶比這三個,我只希望這三個能夠進入dir1 - 那麼呢? – pawel

+0

@pawel在這種情況下使用組。 – devnull

+0

然後,您必須爲它們分配一個特殊組,並允許該組讀取dir1的內容。 創建組'specialusers' '$ GROUPADD specialusers' 添加用戶,這組 '$ usermod命令-ag specialusers user1' '$ usermod命令-ag specialusers user2' '$ usermod命令-ag specialusers user3' 允許'specialusers'讀取文件夾 '$ chown root:specialusers dir1' '$ chmod dir1 0750' 現在只有來自組'specialusers'的用戶才能看到dir1下的文件夾列表 – Nicolai