Как запустить SUDO & hellip; команды в cronjobs в Ubuntu 16.04?

Существуют определенные команды терминала, которые могут выполняться только как пользователь root. Если мы попытаемся выполнить их без ключевого слова sudo, они потерпят неудачу с ошибкой Permission denied. Примером может служить команда создания каталога / папки в определенных местах.

Мне нужно запустить одну такую ​​команду как часть задания cron в моем Ubuntu 16.04. Обычно я мог запустить команду с ключевым словом sudo в терминале, и мне будет предложено ввести пароль пользователя root, а затем команда будет выполнена успешно.

Но теперь, когда я должен ввести эту команду в качестве части задания cron в файле crontab, как мне это сделать? Как запустить такую ​​команду как часть cronjob?

2
задан 20 August 2017 в 14:53

6 ответов

Просто запустите crontab -e как пользователь root. Это запустит вашу команду с правами root и нет необходимости добавлять sudo до нее.

Однако вы не можете войти в систему с пользователем root , и вам необходимо выполнить в качестве задания cron вы должны указать полный путь в cron-файле:

 $ * * * * * /usr/bin/sudo /your/command

Также вы можете добавить NOPASSWD перед вашей командой в файле /etc/sudoers для запуска команды как root, но без пароля. [ ! d5]

2
ответ дан 22 May 2018 в 19:16
  • 1
    Нет необходимости в sudo, так как задача будет выполняться с правами root. – fkraiem 20 August 2017 в 15:56
  • 2
    @fkraiem Как я уже сказал, если у вас нет доступа к учетной записи root для создания нового cron как root, вы можете использовать sudo. – Ali Ghasempour 20 August 2017 в 17:19
  • 3
    Если у вас есть доступ к sudo, у вас обычно есть доступ к root. – fkraiem 21 August 2017 в 02:26

Просто запустите crontab -e как пользователь root. Это запустит вашу команду с правами root и нет необходимости добавлять sudo до нее.

Однако вы не можете войти в систему с пользователем root , и вам необходимо выполнить в качестве задания cron вы должны указать полный путь в cron-файле:

$ * * * * * /usr/bin/sudo /your/command

Также вы можете добавить NOPASSWD перед вашей командой в файле /etc/sudoers для запуска команды как root, но без пароля. [ ! d5]

2
ответ дан 18 July 2018 в 08:13

Просто запустите crontab -e как пользователь root. Это запустит вашу команду с правами root и нет необходимости добавлять sudo до нее.

Однако вы не можете войти в систему с пользователем root , и вам необходимо выполнить в качестве задания cron вы должны указать полный путь в cron-файле:

$ * * * * * /usr/bin/sudo /your/command

Также вы можете добавить NOPASSWD перед вашей командой в файле /etc/sudoers для запуска команды как root, но без пароля. [ ! d5]

2
ответ дан 24 July 2018 в 19:02

Другой вариант - поместить его в общесистемный crontab в /etc/crontab (или в файл в /etc/cron.d), где вы можете указать пользователя, каждая задача запускается с помощью:

* * * * * root mkdir /foo/bar
2
ответ дан 22 May 2018 в 19:16

Другой вариант - поместить его в общесистемный crontab в /etc/crontab (или в файл в /etc/cron.d), где вы можете указать пользователя, каждая задача запускается с помощью:

* * * * * root mkdir /foo/bar
2
ответ дан 18 July 2018 в 08:13

Другой вариант - поместить его в общесистемный crontab в /etc/crontab (или в файл в /etc/cron.d), где вы можете указать пользователя, каждая задача запускается с помощью:

* * * * * root mkdir /foo/bar
2
ответ дан 24 July 2018 в 19:02

Другие вопросы по тегам:

Похожие вопросы: