web-dev-qa-db-ja.com

ログファイルを保存する可能性はどこにありますか

プログラムを書いていますが、ログファイルを保存したいと思っています。問題は、プログラムをルートとして実行するべきではないということです。

したがって、ファイルが配置される場所の伝統を守りたい場合、通常のユーザーがアクセス許可を持つ/ var/logにない場合、ログファイルをどこに保持できますか?

編集:私はArchLinuxを使用しています。

8
Joshua Strot

使用しているオペレーティングシステムが欠落しているため、より一般的なアプローチは次のようになります。/var/log内にアプリの名前(たとえば、foo)でディレクトリを作成します。

# mkdir /var/log/foo

すべてのUNIXライクなOSのほとんどでは、var_logフォルダーをナビゲートできますが、ログファイルの内容を表示することはできません(予想どおり)。

プログラムの実行に使用しているユーザーに所有権を付与し、このユーザー(のみ)にこれらのログファイルの表示/書き込みを許可します。

# chown userfoo /var/log/foo
# chmod 600 /var/log/foo

グループで遊ぶこともできます。たとえば、演算子への読み取りアクセス権を付与します(もちろん、640などのchmodの別のアクセス許可セット。

完了。これは、Unixライクなシステムに対して十分に一般的である必要があり、おそらく、ユーザーを管理グループに追加するよりも優れたアプローチです。

7
user34720