プログラムを書いていますが、ログファイルを保存したいと思っています。問題は、プログラムをルートとして実行するべきではないということです。
したがって、ファイルが配置される場所の伝統を守りたい場合、通常のユーザーがアクセス許可を持つ/ var/logにない場合、ログファイルをどこに保持できますか?
編集:私はArchLinuxを使用しています。
使用しているオペレーティングシステムが欠落しているため、より一般的なアプローチは次のようになります。/var/log
内にアプリの名前(たとえば、foo)でディレクトリを作成します。
# mkdir /var/log/foo
すべてのUNIXライクなOSのほとんどでは、var_logフォルダーをナビゲートできますが、ログファイルの内容を表示することはできません(予想どおり)。
プログラムの実行に使用しているユーザーに所有権を付与し、このユーザー(のみ)にこれらのログファイルの表示/書き込みを許可します。
# chown userfoo /var/log/foo
# chmod 600 /var/log/foo
グループで遊ぶこともできます。たとえば、演算子への読み取りアクセス権を付与します(もちろん、640
などのchmodの別のアクセス許可セット。
完了。これは、Unixライクなシステムに対して十分に一般的である必要があり、おそらく、ユーザーを管理グループに追加するよりも優れたアプローチです。