1人のユーザーに(sudoを介して)grepを実行させ、1つの特定のファイルの1つの特定の文字列に対してgrepを許可したい。このユーザーがすべてのファイルでgrepを実行できるようにしたくありません。ユーザーにはファイルへの読み取りアクセス権がないため、sudoを使用する必要があります。マシン上の別のサービスのログファイルを把握するnagiosチェックを作成しようとしています。
動作しませんが、sudoはパスワードを要求し続けます。
私のコマンドは次のとおりですsudo grep "string I want (" /var/log/thefilename.log
(はい、そこに生で(
、文字列の一部のスペースが、私はgrepをしたいです)
/etc/sudoers.d/user-can-grep
このコンテンツがあります:
user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log
このsudoersファイルは所有者root:root
であり、アクセス許可があります-r--r-----
サーバーはUbuntu trusty 14.04.3 LTSです。
この作業を行うにはどうすればよいですか?
sudo
ます。
grep
、をwhich grep
使用していることを通知し/bin/grep
ます。sudoファイルで知る限り、完全パスなしで呼び出す場合でも、バイナリの完全パスを指定する必要があります。