グループ内の各ユーザーに同様のファイル権限を付与するためにユーザーをグループ化する方法

グループ内の各ユーザーに同様のファイル権限を付与するためにユーザーをグループ化する方法

ユーザーは2人user1user2Ubuntu PCにいます。user1インストールしながら作成しました。user2実行可能なPythonプログラムを作成しました。これでプログラムがパスに表示されます/home/user1/programs/。したがって、user2.homeディレクトリにあるプログラムが実行されています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

他のユーザー(例:)がuser2writehomeuser1

同じ権限を持つ同じグループにuser1ユーザーを追加してグループを作成するにはどうすればよいですか?user2user2rwx (7)

答え1

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

これにより、名前付きグループが追加され、2人のユーザーがグループに追加され、mygroupすべてのファイルとサブディレクトリのグループ所有権がに変更されます。/home/user1/programs/Output/mygroup

次に、ディレクトリの読み取り、書き込み、および実行権限を設定し、ディレクトリ内のすべてのファイルを読み書きできるようにします。今回も、これは再帰的に適用されます。../Output/

最後に、chmod g+s以下に生成されたすべてのファイルとサブディレクトリ/home/user1/programs/Output/mygroup

これはすべてルートとして実行する必要があるため、sudo -iルートシェルを最初に起動し、exitルートシェルを最後に終了します。

関連情報