申し訳ありません。ユーザーnagiosはrootとして「SCRIPT.sh」を実行できません。

申し訳ありません。ユーザーnagiosはrootとして「SCRIPT.sh」を実行できません。
user1@<HOSTNAME>:~$ sudo -H -u nagios bash -c "sudo /usr/localcw/bin/check_disk.sh -w 10% -c 80% -p /boot"

Sorry, user nagios is not allowed to execute '/usr/localcw/bin/check_disk.sh -w 10% -c 80% -p /boot' as root on <HOSTNAME>.

user1@<HOSTNAME>:~$ sudo -H -u nagios bash -c "sudo /usr/localcw/bin/nagios_check_files_age.sh -f /var/lib/logrotate/status -c 3600  -w 3600"

FILE_AGE OK: /var/lib/logrotate/status is 1680 seconds old and 1626 bytes.[w=3600 , c=3600 s]

user1@<HOSTNAME>:~$ ls -l /usr/localcw/bin/check_disk.sh

-rwx------ 1 root root 6390 Mar  3 16:45 /usr/localcw/bin/check_disk.sh

user1@<HOSTNAME>:~$  ls -l /usr/localcw/bin/nagios_check_files_age.sh

-rwx------ 1 root root 2236 Nov 13 15:48 /usr/localcw/bin/nagios_check_files_age.sh

ご覧のように、両方のスクリプトの権限が同じで、両方のスクリプトで使用されたインタプリタも同じであるため、問題の原因が何であるかを調べようとしました。

シェルスクリプトのコードは以下にあります。checkdisk.sh

nagios_check_files_age.sh

答え1

visudoを実行し、nagiosユーザー名を含む行を見つけます。誰かが制限された sudo 権限を与えた可能性があります。次のような行が表示されたら、/usr/localcw/bin/check_disk.shをリストに追加できます。

ビジュド

## Allows nagios user to run below commands
nagios ALL=/usr/localcw/bin/nagios_check_files_age.sh

リストに追加

ビジュド

## Allows nagios user to run below commands
nagios ALL=/usr/localcw/bin/nagios_check_files_age.sh, /usr/localcw/bin/check_disk.sh

sudoersファイルに追加した後、コマンドを再試行してください。

nagiosユーザーがsudoersファイルにリストされていない場合は、facls(アクセス制御)を確認してください。

getfacl /usr/localcw/bin/check_disk.sh

関連情報