GNU/Linux >> Linux の 問題 >  >> Linux

ユーザーにログ ファイルへの読み取りアクセスを許可する最も安全な方法は何ですか?

解決策 1:

上記の回答を少し拡張すると、実際の使用例になります。私は Redhat ボックスでエンタープライズ ログ分析アプリケーション Splunk を実行しています。これは、splunk ユーザーおよび splunk グループの下で実行されます。これにより、root (または sudo 管理者) のみがアクセスできるため、splunk が /var/log 内のログにアクセスできなくなります。

Splunk のみに読み取り専用アクセスを許可するために、いくつかの ACL を使用し、logrotate を変更して永続化しました。

で ACL を手動で設定できます

sudo setfacl -m g:splunk:rx /var/log/messages

logrotate は ACL 設定を再適用しないため、これは持続しません。そのため、より永続的な解決策として、logrotate にルールを追加して ACL をリセットしました。ファイルを追加しました..

/etc/logrotate.d/Splunk_ACLs

{
    postrotate
        /usr/bin/setfacl -m g:splunk:rx /var/log/cron
        /usr/bin/setfacl -m g:splunk:rx /var/log/maillog
        /usr/bin/setfacl -m g:splunk:rx /var/log/messages
        /usr/bin/setfacl -m g:splunk:rx /var/log/secure
        /usr/bin/setfacl -m g:splunk:rx /var/log/spooler
    endscript
}

ファイルの ACL ステータスを確認する

$ getfacl /var/log/messages

ACL の詳細については、https://help.ubuntu.com/community/FilePermissionsACLshttp://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/ を参照してください。

解決策 2:

とにかくユーザー特権を介してアクセスできるため、グループにルートを追加する必要はありません。決定したグループにグループの読み取りを許可するだけです。 logrotate を使用して変更を行うことも忘れないでください。そうしないと、グループの変更が毎晩消去されます。

解決策 3:

あなたの計画は受け入れられ、「従来の」Unix パーミッション スキームが最善の方法です。
もう 1 つのオプションは、syslog で対象のメッセージを別のファイルに迂回させることです (これにより、アプリ ユーザーが 03 にある可能性のある機密情報にアクセスできなくなります)。 ).

ユーザー/グループ/その他の従来のアクセス許可スキームに縛られたくない場合は、POSIX ACL (その他、Google から入手できるより良いハウツー/情報) を使用して、アプリ ユーザーに 15 -- これはもう少しきめの細かいものであり、誤って他の誰かをアプリケーションのグループに入れて、彼らが見ることができないはずのものへのアクセス権を与えてしまうリスクはありません.

解決策 4:

はい、私は 21 を使用しました これを行うには、31 へのアクセスを許可します 49 にコマンドを追加する必要はありません。 ログがローテーションされた後に ACL を再設定するためのファイル 例:

postrotate
         /usr/bin/setfacl -m o::r /var/log/mail.log  
endscript

私はこれを設定したばかりで、テストしていないことに注意してください。ただし、ここに投稿することはできますが、なぜ機能しないのかわかりません。間違っている場合は誰かが訂正してください。


Linux
  1. 実行権限は何をしますか?

  2. sudoers と root グループへのユーザーの追加の違いは何ですか?

  3. コマンド ラインからファイルにテキストを追加する最も簡単な方法は何ですか?

  1. echo バイナリを呼び出す最も安全で移植性の高い方法は何ですか?

  2. Linux + 特定のユーザーだけにファイルの読み取りを許可する方法

  3. Linuxでファイルをコピー、読み取り、削除するコマンドは何ですか

  1. テールはファイル全体を読み取りますか?

  2. Vimで特定のヘルプファイルにアクセスする正しい方法は?

  3. グラフィックGentooをレンダリングする最も軽量な方法は何ですか?