
Ubuntu 18.04 でいくつかのフォルダーを共有しているので、Windows クライアントから読み取り/書き込みでアクセスできます。
ファイル構造:
myshare/
dir1/
somefile1.txt
somefile2.txt
dir2/
dir3/
samba クライアントには、内部のファイルに対する読み取り/書き込み/作成/削除権限がありますdir1
。
意図しないユーザー事故に遭いました: ユーザーが消去にdir1
、その中のすべてのファイルdir1
が削除されました。
これを防ぐ権限設定を適用できませんでした。これはすべて、Samba クライアントがフォルダー構造の削除を実装する方法に帰着するようです。フォルダーの内容を一覧表示し、ディレクトリ ツリーの最も深いレベルから再帰的に 1 つずつファイル削除を実行します。
結論: サーバー側では、許可された単一ファイルの削除と、不要な完全な再帰的なフォルダーの削除を区別する機会がありません。
何か見逃しているのでしょうか?
私は 2 つのトリックについて考えましたが、解決策を見つけることができませんでした。
dir1
sambaクライアントがバッチ削除操作を中止するファイルを内部に置くことはできますか?削除できないファイルではdir1
、成功はランダムのようです。共有のルートを作成すると、上記のリスクがなくなることに気付きました
dir1
。ユーザーが で削除を押すと、dir1
操作は拒否されますが、これは完璧です。しかしdir1
、、dir2
などdir3
を別々の共有として持つことは、うまく拡張できません。ユーザーがアクセス ポイントを 1 つだけ持つようにしたいのですが、を共有のように動作させ (クライアントは参照できますが削除はできません)、それでも 内に表示させる/myshare
方法はあるでしょうか?dir1
/myshare
Windows ファイル エクスプローラー クライアントのみで機能するソリューションであれば受け入れられます。