Gnome Ubuntu 18.04 de.
Я сделал простой файл сценария удара, который отмечает мою следующую перезагрузку для выбора, окна копают запись. Для быстрой перезагрузки в окна прямо из Linux DE.
Проблема, я должен использовать dconf для изменения исполняемых файлов для выяснения, таким образом, я могу нажать выполненный в терминале, где это автоматически просит пароль. Иначе просто выполнение файла ничего не делает, до н.э это ожидает ввода пароля.
Существует ли способ выполнить файл сценария удара как это со свойственными sudo полномочиями, таким образом, он не должен просить пароль?
РЕДАКТИРОВАНИЕ (даже при том, что это направлено на @waltinator, потому что форматирование комментария является зверским):
Так был бы
/bin/kill
быть местоположением и названием моего файла сценария удара? например, мой файл сценария удара называют restart2windows и располагают на моем рабочем столе:
/home/myusername/Desktop/restart2windows
таким образом, я должен был бы просто добавить эту строку к/etc/sudoers (я все еще неясен при редактировании того файла, с помощью visudo, и должен ли я отредактировать sudoers.d, как рекомендуется):
myusername mymachinename = NOPASSWD: /home/myusername/Desktop/restart2windows
Это было бы корректно?
РЕДАКТИРОВАНИЕ 2
Я пытался редактировать sudoers через visudo:
sudo visudo
и добавил строку, которую я предложил выше ниже прокомментированной строки:
#includedir /etc/sudoers.d
и затем попробованный для выполнения моего файла сценария удара от моего рабочего стола, и это ничего не сделало. Если я принимаю решение выполнить его в терминале, терминал ожидает ввода пароля.
Вот мое содержание файла сценария удара, очень простое:
#!/bin/bash
sudo grub-reboot 2
sudo reboot now
Найденный этим вопросом здесь и кажется, что я должен добавить sudo где-нибудь там? Я смущен тем ответом на тот вопрос, потому что его строка кода от OP не соответствует OP's.
Читать man sudoers
- это позволит Вам предоставить доступ без пароля к единственной команде. Читать man visudo
, также.
От man
страница:
PASSWD and NOPASSWD
By default, sudo requires that a user authenticate him or herself before running a
command. This behavior can be modified via the NOPASSWD tag. Like a Runas_Spec, the
NOPASSWD tag sets a default for the commands that follow it in the Cmnd_Spec_List.
Conversely, the PASSWD tag can be used to reverse things. For example:
ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm as root on the
machine rushmore without authenticating himself. If we only want ray to be able to run
/bin/kill without a password the entry would be:
ray rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm
Note, however, that the PASSWD tag has no effect on users who are in the group specified
by the exempt_group option.
Кроме того, я отмечу что "создание существующего bash
скрипт запущен как root
"начало многих очень печальных рассказов безопасности.
Вместо того, чтобы делать сценарий выполненным как root
, предоставьте Вашему пользователю доступ без пароля к (полный путь) 2 команды в Вашем сценарии.