Linux
如何對使用者進行分組以向組中的每個使用者授予相似的文件權限
我有 2 個使用者
user1
,並且user2
在我的 Ubuntu PC 中。user1
是我在安裝過程中創建的。我創建user2
了一個執行 python 程序。現在,這個程序存在於路徑中/home/user1/programs/
。因此,user2
正在執行位於user1
. 在執行期間,我無法在輸出目錄中創建文件/home/user1/programs/Output/
。因此,我繼續檢查權限並發現以下內容:$ ls -l /home/user1/programs/ drwxrwxr-x 10 user1 user1 4096 Sep 6 11:30 Output drwxrwxr-x 2 user1 user1 4096 Sep 5 17:50 source $ cd Output $ mkdir dummy1 $ ls -l drwxrwxr-x 2 user1 user1 4096 Sep 6 11:30 dummy1 $ cd dummy1 $ vi a.txt $ ls -l -rw-rw-r-- 1 user1 user1 7 Sep 6 11:31 a.txt $ cd .. $ sudo mkdir dummy2 $ ls -l drwxr-xr-x 2 root root 4096 Sep 6 12:37 dummy2
很明顯,其他使用者
user2
喜歡write
在home
.user1
現在,我想將使用者添加
user1
到user2
具有相同權限的同一個組中,以便user2
獲得一個rwx (7)
?如何創建這樣的群?
sudo -i addgroup mygroup addgroup user1 mygroup addgroup user2 mygroup chgrp -R mygroup /home/user1/programs/Output/ chmod -R ug+rwX /home/user1/programs/Output/ find /home/user1/programs/Output/ -type d -exec chmod g+s {} + exit
這會添加一個名為 的組,將兩個使用者都添加到該組,並將(以及所有文件和子目錄)
mygroup
的組所有權更改為./home/user1/programs/Output/``mygroup
然後將目錄的權限設置為讀、寫、執行以及其中的所有文件允許讀和寫。同樣,這遞歸地應用於所有子目錄
../Output/
最後,它在目錄上設置 setgid 位,
chmod g+s
以便在下面創建的所有文件和子目錄/home/user1/programs/Output/
都將在mygroup
.所有這些都需要以 root 身份完成,因此
sudo -i
首先啟動 root shellexit
,最後退出 root shell。