Назад | Перейти на главную страницу

Почему этот сценарий оболочки выключения не работает под root crontab, когда гостевой пользователь вошел в систему?

У меня есть ноутбук с Lubuntu 13.04 и включена гостевая учетная запись. Люди забывают выключать его каждый день, поэтому я решил, что просто помещу однострочный скрипт в cron root, чтобы решить эту проблему. Никаких кубиков. Он появляется в системном журнале каждый день, как будто работал, но компьютер не выключается. Не может ли root выключить машину, когда другой пользователь (не в руле) вошел в систему?

Сценарий оболочки:

#!/bin/bash
shutdown -h now

Строка в crontab root:

34 18 * * * /root/shutdownDaily.sh

Скрипт исполняемый:

-rwxr-xr-x 1 root root 28 сен 9 17:47 shutdownDaily.sh *

"/ sbin" не входит в ПУТЬ cron по умолчанию. Так что вам нужно добавить его туда.

вы можете проверить это с помощью:

*/2 * * * * /bin/echo "$PATH" > /home/myuser/my.log

Результат:

[root@localhost vagrant]# cat my.log 
/usr/bin:/bin

Также вы можете увидеть это в заголовках писем, отправленных cron:

Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>