Сделать исполняемый сценарий удара выполненным с sudo полномочиями?

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.

0
задан 11 January 2020 в 22:50

1 ответ

Читать 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 команды в Вашем сценарии.

0
ответ дан 12 January 2020 в 12:35

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

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