Я создал скрипт bash, который должен выполнять поиск во всех папках журналов на нескольких серверах и сжимать все файлы журналов на компьютерах, основанных на rpm (серверы RHEL и Centos 6 & 7). Предполагается, что сценарий создаст файл блокировки, чтобы предотвратить запуск нескольких его экземпляров, и весь сценарий, который широко использует команды find, tar и rm, должен запускаться пользователем nrpe с полномочиями sudo, когда запускается обработчик событий Nagios.

Я дал разрешения sudo для nrpe, чтобы запустить эту команду, но я заметил, что при попытке запустить скрипт, разрешения запрещены:

sudo -u nrpe /share/username/run/fixstorage.sh
touch: cannot touch `/var/run/fixstorage.lockfile': Permission denied
find: `/var/log/sssd': Permission denied
find: `/var/log/salt': Permission denied
find: `/var/log/httpd': Permission denied
find: `/var/log/audit': Permission denied

Но затем сценарий продолжает работать, но без вывода. И хранилище не фиксируется. Как я могу заставить nrpe правильно запустить весь скрипт? Права доступа к сценарию:

-rwxrwxr-x. 1 username username 5516 Jan  3 23:36 /share/username/run/fixstorage.sh

Это в домашней папке пользователя, которая смонтирована по NFS.

0