
これがまさにそのシーンです。
- oracle.dbaに属するディレクトリ/テストがあります。
- 新しいユーザーTESTを作成しました。このユーザーは新しいファイルを作成する権限を持ちますが、自分で作成したファイルを削除しないでください。
私はいくつかの方法を試しましたが、aclも試しましたが、うまくいきません。
答え1
私はこれが標準のUNIX権限だけでは不可能だと思います。ここでの問題は(私が知っている限り)、新しく作成されたファイルは常に作成者の所有であることです。ファイルを作成できる場合は、親ディレクトリへの書き込みアクセス権があるため、ファイルも削除できます。
固定ビットを使用して、ユーザーが削除するのを防ぎます。他のユーザーこれはファイルであり、ディレクトリのSETGIDビットを使用して新しく作成されたファイルグループを変更できますが、LinuxではSETUIDディレクトリビットは無視されます。
ディレクトリを監視するデーモンを作成し(おそらくある種のファイル変更モニタを使用して)、ファイルが作成された後、所有権をoracle.dbaに変更できます。しかし、競争条件があります。つまり、デーモンがファイルが存在することを知る前に、攻撃者はファイルを削除する可能性があります。
成功しても書き込み権限がある限り、ファイルを明示的に削除せずにファイルをゼロの長さに切り取り、内容を削除できます。