これが可能かどうかわからないので、お会いしましょう。ユーザーが単一のファイル(ロゴファイル)を生成できるようにしたいのですが、そのファイルのみを生成できます。
ユーザーの親ディレクトリを読み取り専用にしたため、ユーザーは現在の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