誰が作ったかに関係なく、誰でも何ができるディレクトリ

誰が作ったかに関係なく、誰でも何ができるディレクトリ

これはFreeBSD UFSに固有のものですが、あらゆる種類のPOSIXスタイルのファイルシステムで動作したいと思います。

コンテキストは次のとおりです。

  • UFSでフォーマットされた外部ボリューム。
  • 複数のFreeBSDワークステーションがあり、各ワークステーションはそれを所有するユーザーが独自の方法で構成します。
  • この目的のために、$REASONSNFS、Sambaなどを介したネットワークとファイル共有はオプションではありません。

外部ボリュームはあるユーザーから別のユーザーに渡され、各ユーザーはボリュームのデータを使用し、そのデータを読み取り、書き込み、実行するにはフルアクセス権が必要です。ユーザーは新しいファイルとフォルダを作成します。彼らは定期的にファイルとフォルダを削除して修正します。

システムによってIDが異なる可能性があるため、ユニバーサルグループのアプローチは機能しません。私は777のようなパブリック権限を設定しようとしました、ACLを試しました、そして固定ビットを簡単に見ました。これらの解決策のどれも機能しません。ユーザーAがファイルを生成してもユーザーBがファイルを変更できないという問題が発生します。

NTFSには「Everyone」という概念があり、「すべての権限」に設定されています。 UFSなどのPOSIXファイルシステムを使用して同様の動作を得るにはどうすればよいですか?

編集:(方法777が失敗した理由の説明)

john@pc1 /mnt# sudo chmod 777 /media/external_usb/
john@pc1 /mnt# ls -larths /media/external_usb/
total 18
 1 drwxrwxrwx  2 john  john     2B Dec 16 12:41 ./
17 drwxr-xr-x  9 root  wheel     9B Dec 16 12:41 ../

john@pc1 ~> touch /media/external_usb/test
john@pc1 ~> ls -larths /media/external_usb/test
1 -rw-r--r--  1 john  john     0B Dec 16 12:43 /media/external_usb/test

# Drive is moved from pc1 to pc2

adam@pc2 ~> touch /media/external_usb/test
touch: /media/external_usb/test: Permission denied

ベストアンサー1

ディレクトリ権限を777に設定すると、ディレクトリ内の各ユーザーのファイルは依然としてそのユーザー/グループ、特にそのUID:GIDの所有です。さらに、ファイル権限は、「誰でも」がファイルを変更することを許可しません。あなたの例では、ファイルを含むディレクトリに誰でもアクセスできますが、ファイルはjohnによってのみrw'になることがあります。

必要な操作を実行するには、Johnはドライブを別のシステムに移動する前に、ファイルの権限を666(誰でも読み書きできる)に設定する必要があります。非常に不安ですが、明らかにあなたは閉じ込められています。

人々がファイルを実行できるようにするには、ファイルの権限を666ではなく777に設定する必要があります。

これはBSDやUFSの問題ではありません。ほとんどすべてのUNIXオペレーティングシステムとファイルシステムで同じ問題に直面します。

おすすめ記事