Существуют установки управления полномочиями, которые не требуют, чтобы Вы использовали sudo
- Вы могли дать пользователю, выполняющему доступ сценария к группе, которая владеет /var/log/messages
(adm
, на моем ноутбуке здесь). Поочередно, использовать NOPASSWD
в sudoers записи для сценария, так, чтобы Вы не хранили пароль в сценарии.
Если Вы - действительно тупик при разрешении миру видеть то, что находится в /var/log/messages
(и я настоятельно рекомендовал бы против него - там, действительно может быть частный материал там), затем, что задерживает Ваши полномочия принять значение по умолчанию, вероятно, logrotate
, так проверьте свою конфигурацию logrotate и найдите строку файла конфигурации, это делает Ваш /var/log/messages
вращение и изменение это.
Обычное решение состоит в том, чтобы запустить скрипт монитора с необходимыми полномочиями, чтобы смочь считать файл.
Это вызвано тем, что /var/log/messages
разрешение тщательно выбрано для сокрытия любой уязвимой информации, которая случайно заканчивается в том файле журнала.
Если Вы действительно используете sudo для предоставления доступа, то необходимо стараться ограничить объем доступа правильно. Я рекомендовал бы использовать что-то вроде этого в Вашем sudoers файле:
scriptuser ALL = NOPASSWD: /bin/cat /var/log/messages
Это позволит 'scriptuser' выполнять точную команду, представленную, не вводя пароль.