Intereting Posts
Кнопка «Печать экрана» ничего не делает на Debian 8 «jessie» Почему в Synaptic Manager (Mint / Xfce) отображаются обновленные метки, хотя обновления нет? linux + однопользовательский режим и сеть Безопасно ли отключать hddtemp.service Почему os.sytem не будет уведомлять пользователя о рабочем столе? Как запустить функцию ~ / .bashrc как элемент входа в GUI Настройка пользователя для программы В чем разница между этими двумя командами dd? Все службы пользователя убиваются при запуске нескольких сервисов под этим пользователем с помощью systemd Какой сигнал отправляет X своим клиентам, когда он получает SIGINT? 218TB XFS LVM файловая система. 144TB бесплатно. Сообщение об ошибке «Нет свободного места на устройстве» Как связать <Control> <Arrowkey> в Mutt? Каковы минимальные приложения корневой файловой системы, необходимые для полной загрузки Linux? Где найти журналы Crontab в CentOS Как определить временные ограничения для группы пользователей за сеанс

Предоставить разрешение учетной записи для проверки статуса услуги

Я создал новую учетную запись svchk и через visudo предоставил ей разрешение на запуск следующего состояния команды / sbin / service postfix:

Cmnd_Alias POSTFIXCMDS = /sbin/service postfix status svchk ALL = NOPASSWD: POSTFIXCMDS 

Но когда я su svchk и run / bin / service postfix status, я получаю следующую ошибку:

 su svchk /sbin/service postfix status master status unknown due to insufficient privileges. 

Почему я получаю это и как я могу предоставить разрешение svchk для проверки статуса службы postfix?

Чтобы запускать команды через sudo вы должны префикс sudo следующим образом:

 sudo /sbin/service postfix status 

Я не мог понять правильную комбинацию команд для размещения в visudo, чтобы позволить не-привилегированному пользователю проверять статус постфикса.

Проверка скрипта /etc/init.d/postfix кажется, что команда status может вызывать кучу других команд. В дополнение к этому, похоже, что сервис запущен с использованием chroot, который может вызывать проблемы с предоставлением разрешения моей учетной записи для проверки статуса службы.

Вместо этого я решил проверить сервис по-другому. Я устанавливаю следующее в visudo:

  # Allow the unprivileged account svchk run wc, ps, grp so that we can check if postfix is running Cmnd_Alias POSTFIXCMDS = /usr/bin/wc,/bin/ps,/bin/grep svchk ALL = NOPASSWD: POSTFIXCMDS 

Затем из моего скрипта проверки работоспособности я выполнил следующее: ps aux | grep / usr / libexec / postfix / master | wc -l

Если результаты вышеуказанной команды возвращают 2 (два процесса со словом «/ usr / libexec / postfix / master», то постфикс работает. Если он возвращает 1, команда постфикса не выполняется.

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

Благодарю Брэда