回答:
Morbius1によるUbuntuフォーラムのこの素晴らしい投稿から引用。
この種のことを行う古典的なLinuxの方法は、次のようになります。
共有フォルダを作成します。
sudo mkdir /home/Shared
新しいユーザーのグループを作成します。
sudo addgroup newgroup
共有フォルダの所有権を新しいグループに変更します。
sudo chown :newgroup /home/Shared
目的のユーザーをそのグループに追加します。
sudo adduser user1 newgroup
すべてのユーザーに対して繰り返します。
これで、これらのユーザーが実行できるようにすることについて、いくつかの決定を下すことができました。
[a]すべてのグループユーザーは、フォルダーに追加したりフォルダーから削除したりできます。また、他のファイルへの読み取りおよび書き込みはできません。
sudo chmod 0770 /home/Shared
[b]上記と同じですが、ファイルの所有者のみがファイルを削除できます。
sudo chmod 1770 /home/Shared
[c]すべてのグループユーザーは、フォルダーに追加したりフォルダーから削除したり、お互いのファイルを読み書きしたりできます。
sudo chmod 2770 /home/Shared
[d] [c ]と同じですが、ファイルの所有者のみが削除できます。
sudo chmod 3770 /home/Shared
1
chmodコマンドの最初の位置では、スティッキービット所有者以外の誰にもファイルの削除を防止します。
2
chmodコマンドの最初の位置のA は、すべての新規ファイルまたはコピーされたファイルにそのフォルダーのグループを強制するsetgidビットです。
3
chmodコマンドの最初の位置のA は、スティッキー1
(+2
)ビットとsetgid()ビットの組み合わせです。
setgidビットに関する限り、これらすべてに1つの注意点があります。で作成されたすべての新しいファイルとそのフォルダにコピーされたすべてのファイルは、実際にはフォルダのグループを継承します。ただし、ファイルはそのフォルダーに移動されません。移動したファイルは、どこから移動したかに関わらず、所有権を保持します。この問題を回避する1つの方法は、bindfsを使用することです。
最後に、グループ外の他のユーザーがファイルを表示できるようにしたいが変更しない場合は、chmod
コマンドの最後の0を5に変更します。例:
sudo chmod 0775 /home/Shared