Настройка собственного сценария bash для запуска только как sudo

Я создал сценарий (имя файла - update ) для обновления и обновления одной командой.Вот и все:

#! /bin/bash
sudo /usr/bin/apt-get update
sudo /usr/bin/apt-get upgrade

Я использовал полные пути, а также поместил это в отдельный каталог, / home / user_name / custom_scripts . Я также удостоверился, что назначил этот каталог как root , разрешения указаны как

drwxr-xr-x. 2 root root 4096 23 августа 00:12 custom_scripts

и исполняемый сценарий:

-rwx ------. 1 root root 73 23 августа 00:12 update

Я изменил свой путь так, чтобы он выглядел так / home / user_name / custom_scripts: / usr / local / bin: / usr / bin: / bin: / usr / local / games: / usr / games но по какой-то причине это не будет выполняться, если я наберу sudo update . Самое странное, что если я просто попробую update , я получу исключение permission denied .

Я не совсем уверен, что случилось.

0
23.08.2017, 07:26
2 ответа

Похоже, вы хотите, чтобы он просто запускался с помощью Cron. Взгляните на Каковы права выполнения задания cron? но по сути просто скопируйте скрипт в одну из папок cron, например /etc/cron.daily

Я бы также рекомендовал удалить sudo как избыточный. Cron запустит его как root.

0
28.01.2020, 04:41

Я думаю, что вы изменили переменную $PATH для user_name, но не для sudo.

Я удивлен насчет permission denied, если у вас есть sudoв начале команды, она должна запросить у вас пароль при запуске вручную.

Для того, что вы пытаетесь сделать, я думаю, что aliasбудет более подходящим, проверьтеhttps://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias

0
28.01.2020, 04:41

Теги

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