И это всё МОЁ

У меня есть два простых скрипта:

/opt/sсript/loloswitcher.sh

#!/bin/bash

echo "/opt/sсript/loloswitcherPostRun.sh" | at now

/opt/sсript/loloswitcherPostRun.sh
#!/bin/bash

logFile="/tmp/loloswitcherLog.txt"

/bin/date > $logFile
/bin/echo "Label 1" >> $logFile


/bin/sleep 3


/bin/date >> $logFile
/bin/echo "Label 2" >> $logFile

Права на эти скрипты следующие:
$ ls -la | grep lolo 
-rwxrwxrwx 1 root root 391 мар 2 10:47 loloswitcherPostRun.sh
-rwxrwxrwx 1 root root 204 мар 2 10:24 loloswitcher.sh

Проблема в том, что если запустить loloswitcher.sh от root, то произойдет запуск loloswitcherPostRun.sh, будет создан файл /tmp/loloswitcherLog.txt, в него будут записаны обе метки Label 1 и Label 2.

Но если удалить /tmp/loloswitcherLog.txt и запустить loloswitcher.sh от обычного пользователя, то скрипт loloswitcherPostRun.sh не будет выполнен, и файл /tmp/loloswitcherLog.txt вообще не будет создан. В системных логах полное молчание, никаких ошибок или предупреждений.

Почему-то команда at способна выполнять скрипты только при запуске от рута. Что где еще нужно докрутить, чтобы можно было запускать команды через at от обычного пользователя?








 , , ,