Я использую Рабочий стол Ubuntu 16.04, и я хотел бы знать, возможно ли позволить пользователю запустить скрипт, который имеет (нуждается) в более высоком уровне разрешения, чем пользователь имеет, и если это, как это сделано.
В целом я хотел бы иметь пользователя, который может только запустить определенный сценарий (которому были бы нужны права администратора работать) и помещать ПК в режим ожидания (pm-sleep-hybrid).
Существует ли способ выполнить первое и возможно даже последнего?
ОСТОРОЖНОСТЬ: следующие ссылочные инструменты ответа, которые могут причинить вред Вашей системе.
"/etc/sudoers файл управляет, кто может выполнить, какие команды, как какой пользователи на том, какие машины и могут также управлять специальными вещами такой как, нужен ли Вам пароль для конкретных команд. Файл состоит из псевдонимов (в основном переменные) и пользовательские спецификации (которые управляют, кто может работать что)". Sudoers - Общественный wiki
Справки можно изменить этот файл, чтобы позволить пользователям или группам к командам выполнения как другие пользователи. Ошибки в этом файле могут причинить много вреда системе.
, Если скрипт был разрешен быть запущенным sudoers файлом и затем отредактированным не привилегированным пользователем. Новый сценарий мог мощно выполнить любую привилегированную команду. Из-за этого лучше позволять только точным командам быть добавленными к sudoers файлу.
Первый безопасно редактируют файл путем выполнения sudo visudo
, Если Вы хотели позволить боба, никакой привилегированные пользователи, завершить работу системы от консоли без пароля.
, Чтобы сделать это необходимо добавить некоторые псевдонимы cmnd следующим образом:
Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
также необходимо добавить пользовательскую спецификацию (в конце файла после "%admin ВСЕ = (ВСЯ) ВСЯ" строка, таким образом, это вступает в силу - посмотрите выше для деталей):
bob ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS
Вы имеете в виду что-то вроде этого?
sudo pm-sleep-hybrid
необходимо было бы только затем добавить этого пользователя к sudoers группе сначала.
, Например,
sudo vi /etc/group
и затем добавляют идентификатор пользователя в конце строки, где пользователь sudo упоминается:
sudo:x:27:my_special_user
Однако этот пользователь должен ввести свой пароль при вызове сценария...