ユーザーが作成した共有ディレクトリの削除を許可しない

ユーザーが作成した共有ディレクトリの削除を許可しない

ユーザーグループがあるので、グループと呼びます。グループに共有フォルダがあるので、これを共有と呼びます。

私が望むのは、このグループのユーザーがこのフォルダの[ファイルとディレクトリ]を[作成して読む]ことです。ファイルの場合、ファイル所有者がファイルを削除できることを願っています。ただし、フォルダの場合は、フォルダが空の場合、またはそのユーザーのファイルのみが含まれている場合は所有者だけを削除できるようにしたいが、他のユーザーのファイルが含まれている場合は削除できません。 (またはフォルダをまったく削除できない場合があります。)

これで問題は、グループのユーザーがディレクトリ(サブディレクトリと呼びます)を作成するときにユーザーに読み取りおよび書き込み権限が必要であることです。そうしないと、ユーザーはその中にファイルを作成できません。優先事項

d---rwx--T 4 root group shared
    drwxrwx---T 4 user group subdir
        -rwx------ 1 otheruser group file

ただし、これにより、ユーザーはそのサブディレクトリ内の他のユーザーのファイルを削除できます。ユーザにサブディレクトリへの書き込み権限があるため、固定ビットが設定されていても同様です。

したがって、私が考えた解決策の1つは、共有に作成されたすべてのフォルダに対してデフォルトのユーザーをrootに設定し、ファイルの場合は、デフォルトのユーザーをそのフォルダを作成したユーザーとして維持することです。しかし、どうすればいいのかわかりません。

setfacl、setuid、setgidを見てみましたが、どちらも私の問題を解決できないようです。

この投稿これは、「オブジェクトの生成を検出してACLを適切に変更するプロセス」を作成することによってのみ達成できると言いますが、その投稿は古くなっています(8年前)。

私はDebian 10でSamba Portocolと共有しています。

関連情報