Надявам се, че някой може да ми помогне тук.
Написах скрипт на Python, който искам да изпълнявам под CRON на всеки 5 минути. В съответствие с общата практика за сигурност с най-малко привилегии, аз:
- създаде потребителски „персонализиран“ за използване за персонализирани скриптове
- създадоха група "по избор" (не искам нищо, работещо под никой, да няма достъп) и;
- поставете скрипта (монитора) в /home/custom/bin
Шебангът в сценария е:
#!/usr/bin/env python2.7
Единственото разрешение, дадено на персонализирания потребител, е:
Inherited from Name Description Action
User - System: Shell account access Indicates whether the user is able to login for example via SSH.
Изпълнението на скрипта с командата /home/custom/bin/monitor от командния ред работи независимо от текущата работна директория.
Опитах първо да направя cd /, за да се уверя, че не е проблем с пътя и скриптът работи правилно.
Скриптът записва 2 файла при първото изпълнение, а следващите изпълнявания се добавят към тези файлове в директорията /home/custom/bin/mondata
Инсталирах пакета CRON и създадох следния запис:
*/5 * * * * custom /home/custom/bin/monitor
(Изглежда, че няма „Прилагане на промените“, така че предполагам, че не е необходимо да рестартирам или да правя нещо, за да заредя промените.) (Горният запис и много други се показват в WebGUI и Знам, че няколко от тези други задачи на cron се изпълняват.)
След като изчаках достатъчно време за стартиране на скрипта, проверих за изход и нямаше нищо.
Промяната на custom на root за целите на тестването (само в случай, че проблемът е проблем с разрешение) не решава проблема.
Ето съответните разрешения за файлове:
[2.3.2-RELEASE][custom@local]/home/custom/bin: ls -laR ~
total 52
drwxr-xr-x 4 custom nobody 512 Aug 7 00:14 .
drwxr-xr-x 4 root wheel 512 Jul 27 15:24 ..
drwxr-xr-x 3 custom custom 512 Aug 7 00:14 bin
/home/custom/bin:
total 20
drwxr-xr-x 3 custom custom 512 Aug 7 00:14 .
drwxr-xr-x 4 custom nobody 512 Aug 7 00:14 ..
drwxrwx--- 2 custom custom 512 Aug 7 00:07 mondata <-Script output goes here
-rwxr-xr-x 1 custom custom 4663 Aug 5 22:44 monitor <-The script
/home/custom/bin/mondata:
total 8
drwxrwx--- 2 custom custom 512 Aug 7 00:07 . <-NO OUTPUT! (I deleted the files manually after successful tests)
drwxr-xr-x 3 custom custom 512 Aug 7 00:14 ..
Проверих за съобщение за грешка в: Състояние / Система / Регистрации / Система / Общи - нищо не е намерено.
Дори се опитах временно да променя разрешенията на /home/custom/bin/mondata на 777 и да настроя cron потребителя на root (напълно неприемлива практика за сигурност само за тестване, но дори това не проработи.)
Нямам начин да разбера дали скриптът работи и записите във файла са отказани по някаква причина или скриптът изобщо не работи.
BTW, къде е разделът cron? Когато стартирам crontab -l като root, получавам crontab: няма crontab за root, но ЗНАМ, че заданията cron се изпълняват. (Изпълнявам ежедневния отчет по пощата.)
Всякакви предложения - дори за отстраняване на неизправности, за да разберете дали скриптът работи, ще бъде полезно.
Благодаря.