親ディレクトリで書き込み権限を要求せずにまだ存在していないファイルに書き込み/生成権限を付与するにはどうすればよいですか?

親ディレクトリで書き込み権限を要求せずにまだ存在していないファイルに書き込み/生成権限を付与するにはどうすればよいですか?

これが可能かどうかわからないので、お会いしましょう。ユーザーが単一のファイル(ロゴファイル)を生成できるようにしたいのですが、そのファイルのみを生成できます。

ユーザーの親ディレクトリを読み取り専用にしたため、ユーザーは現在のtouch <filename>ファイルを作成できません。

ファイルがまだ存在しないため、書き込み権限を付与できません。chmod(例えばchmod u+w <filename>)。

ファイルが作成されたときに適用されるように現在存在しないファイルの権限を設定する方法はありますか?

初めてACLを調べて使ってみましたが、setfacl存在しないファイルの項目をあらかじめ生成することはできないようです。

背景:テスト目的でこのシーンを作成しました。デフォルトでは、ファイルが変更されないようにしたいので、ほとんどのファイルは読み取り専用です。ところで、たまに特定のファイルが生成されて許可したい時があります。特定ファイル名/パスのみ。

私はUbuntu 14.04 Linuxシステムでこれを行っています。

ベストアンサー1

これは、ACLを介するよりも多くの制御を提供します。ファイルに特定の名前がある場合は、特定のユーザーまたはグループのみがファイルを生成できるようにディレクトリにACLを設定する方法はありません。

この問題に対する最も明確な解決策は、最初からそのファイルを生成し、必要な権限を付与することです。

これが不可能な場合は、ファイルを生成するプログラムを作成し、次のようにしてディレクトリへの書き込み権限を持つグループでプログラムを実行する権限をユーザーに付与できます。Sudo

bob = (bob : somegroup) touch /path/to/foo

その後、ユーザーはbob次のことを実行できます。

sudo -g somegroup touch /path/to/foo

おすすめ記事