Директива Sudo для чтения файла журнала

Это работает:

apache ALL=(ALL) NOPASSWD:ALL 

но это не так:

 apache ALL=(ALL) NOPASSWD:/var/log/maillog 

В нем говорится: «sudo: no tty present и не указана программа прокрутки».

Путь правильный. Я что-то упустил? Мысли?

Добавление пробела после NOPASSWD: не заставляло его работать. Я .sh файл .sh с PHP, который имеет это в нем:

 #!/bin/sh grep bounced /var/log/maillog 

Я добавил путь как к сценарию, так и к файлу журнала, но он просто не работает.

One Solution collect form web for “Директива Sudo для чтения файла журнала”

Линия sudoers

 apache ALL=(ALL) NOPASSWD:/var/log/maillog 

позволяет пользователю apache выполнять файл /var/log/maillog . Но ваш скрипт выполняет grep , поэтому строка не применяется.

Судо работает по команде. Невозможно использовать его, чтобы разрешить доступ к определенному файлу с помощью любой команды. Вы можете разрешить команду grep bounced /var/log/maillog , если это все, что вы хотите. Но если вы хотите просто позволить пользователю apache читать из /var/log/maillog с любой программой, тогда вам следует добавить apache в список управления доступом для этого файла.

 setfacl -m user:apache:r /var/log/maillog 

Эта команда должна выполняться каждый раз, когда файл заново создается из-за поворота журнала. Это делается автоматически с помощью последних версий logrotate . Если ваша версия слишком старая, добавьте эту команду в конфигурацию logrotate как запись postrotate .

  • Как перейти в другой домен при вызове sudo?
  • Команда sudo не является источником /root/.bashrc
  • Как запускать несколько команд sudo по уже открытому ssh-соединению
  • LDAP Sudoers с AD & SSSD (возвращает только основную группу)
  • Когда я запускаю «sudo su», я получаю команду --bash: команда не найдена для всего
  • Выполнять перезагрузку только с помощью sudo
  • Выход из скрипта Bash при выходе из sudo
  • Разрешить www-data выполнять определенные команды
  • Выключение или перезагрузка как обычно
  • Должен ли я использовать «sudo» в сценариях, которые я пишу?
  • Судо говорит, что «команда не найдена» для скрипта в EncFS (нет доступа root к EncFS mount?)
  • Linux и Unix - лучшая ОС в мире.