Здравствуйте!
Установленная система Ubuntu 15.10.
Помогите разобраться с такой ситуацией.
Задача в следующем - запустить в автомате скрипт, который будет опрашивать HDD при помощи smartctl, из под другого пользователя (не root), но с правами root.
1. Скрипт:
nano /usr/local/bin/collsmart.sh
#!/bin/bash
HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -f`}"
INTERVAL="${COLLECTD_INTERVAL:-60}"
while sleep "$INTERVAL"
do
TEMP=$((sudo smartctl -A /dev/sda | grep Temperature_Celsius | awk '{ print $10; }') 2>/dev/null);
if [ $? -ne 0 ]
then
TEMP="U"
fi
echo "PUTVAL $HOSTNAME/exec-smart/temperature-sda interval=$INTERVAL N:$TEMP"
2. Делаем исполняемым: chmod +x /usr/local/bin/collsmart.sh
3. Создадим нового пользователя "smart" командой:
useradd -c "smart" -M -g users smart -s /bin/bash
4. Отредактируем sudoers, добавив следующее:
nano /etc/sudoers
...
Cmnd_Alias SMARTCTL = /usr/sbin/smartctl -A /dev/sda
smart ALL=(root) NOPASSWD: SMARTCTL
...
Но при запуске скрипта collsmart.sh возникает следующая ошибка, как ее победить не знаю:
root@NAS:~# tail /var/log/auth.log
Jan 24 17:52:44 NAS sudo: message repeated 12 times: [ smart : command not allowed ; TTY=unknown ; PWD=/var/lib/collectd ; USER=root ; COMMAND=/usr/sbin/smartctl -d ata -A /dev/sda]
Jan 24 17:52:54 NAS sudo: root : TTY=pts/12 ; PWD=/root ; USER=root ; COMMAND=list
Jan 24 17:52:54 NAS sudo: smart : command not allowed ; TTY=unknown ; PWD=/var/lib/collectd ; USER=root ; COMMAND=/usr/sbin/smartctl -d ata -A /dev/sda
Jan 24 17:53:14 NAS sudo: message repeated 2 times: [ smart : command not allowed ; TTY=unknown ; PWD=/var/lib/collectd ; USER=root ; COMMAND=/usr/sbin/smartctl -d ata -A /dev/sda]
Jan 24 17:53:19 NAS sudo: root : TTY=pts/12 ; PWD=/root ; USER=root ; COMMAND=/usr/bin/whoami
Jan 24 17:53:19 NAS sudo: pam_unix(sudo:session): session opened for user root by user(uid=0)
Jan 24 17:53:19 NAS sudo: pam_unix(sudo:session): session closed for user root
Jan 24 17:53:24 NAS sudo: smart : command not allowed ; TTY=unknown ; PWD=/var/lib/collectd ; USER=root ; COMMAND=/usr/sbin/smartctl -d ata -A /dev/sda
или картинка:
То что нужно в итоге:
https://wiki.debian.org/ru/collectdПодобно рассматривали тут:
1.
http://serverfault.com/questions/628619/sudo-without-password-issue2.
http://stackoverflow.com/questions/30895493/using-smartctl-without-sudo3.
https://www.linux.org.ru/forum/admin/116772504.
http://ubuntuforums.org/showthread.php?t=7835195.
http://unix.stackexchange.com/questions/79960/how-to-disable-requiretty-for-a-single-command-in-sudoers6.
http://unix.stackexchange.com/questions/209777/pam-unixsudoauth-auth-could-not-identify-password-for-asteriskpbx7.
но решения не нашло...
Просьба ознакомиться с Правилами форума.Правила форума
1. Основные положения
1.5. Для добавления графических изображений в сообщения требуется использовать внешние сервисы. Подробную инструкцию, а так же список рекомендованных и запрещенных сервисов можно посмотреть в «Руководстве по добавлению изображений на форум».
Графику подправил.-- it0r