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

Как завершить работу из скрипта без рута?

У меня есть экземпляр amazon EC2, который запускается, запускает сценарий, и когда сценарий завершается, я хочу его выключить.

Я попробовал chmod g + s, чтобы предоставить привилегии суперпользователя для сценария .sh, который вызывал выключение, но это не сработало. Есть другой способ?

Или мне лучше использовать Amazon API?

Предполагая, что вы используете экземпляр на базе Linux.

Используйте sudo, чтобы предоставить пользователю скрипта разрешение на завершение работы с правами root.

отредактируйте файл sudoers с помощью visudo и поместите эту строку

scriptuser    ALL = NOPASSWD: /sbin/shutdown

После этого ваш скрипт может выключить машину с помощью команды /usr/bin/sudo /sbin/shutdown