web-dev-qa-db-ja.com

Linuxのログファイルの権限

/var/log/messagesファイルを監視する簡単なスクリプトを記述しようとしています。デフォルトでは、ファイルにはユーザーの読み取り権限がありません。このファイルへの読み取りアクセスを許可すると、スクリプトは完全に機能しますが、問題は、システムを再起動するたびにファイルが書き直され、すべての変更が失われることです。デフォルトの権限を変更する方法はありますか?

ありがとう。

5
Maksim Vi.

そこにareSudoを使用する必要のない権限管理の設定-スクリプトを実行しているユーザーに/var/log/messagesadm、私のラップトップではここ)。または、スクリプトのsudoersエントリでNOPASSWDを使用して、スクリプトにパスワードを保存する必要がないようにします。

もしあなたがreallyに何が/var/log/messagesにあるかを世界に見せさせることで死にかけているなら(そして私はstronglyそれをお勧めします-本当に非公開にできるそこにあるもの)次に、権限をデフォルトに戻すのはおそらくlogrotateなので、logrotate構成を確認し、/var/log/messagesローテーションを実行しているスタンザを見つけて変更します。

12
womble

通常の解決策は、ファイルを読み取ることができる十分な権限で監視スクリプトを実行することです。

これは、/var/log/messages権限は、誤ってそのログファイルに記録される機密情報を非表示にするように慎重に選択されています。

1
Douglas Leeder

Sudoを使用してアクセスを許可する場合は、アクセススコープを適切に制限するように注意する必要があります。 sudoersファイルで次のようなものを使用することをお勧めします。

scriptuser  ALL = NOPASSWD: /bin/cat /var/log/messages

これにより、「scriptuser」はパスワードを入力せずに提示された正確なコマンドを実行できます。

1
Scott Pack