Не удается запустить скрипт sudo без пароля?

Dado que no se seleccionó individualmente ningún entorno de escritorio (DE )durante la instalación, GNOME fue la opción predeterminada. Sin embargo, GNOME parece ser demasiado pesado para el sistema disponible. Por lo tanto, cambiar el DE a algún otro encendedor resolvió el problema:

instale una luz DE (ex :mate, xfce o lxde)

apt install tasksel aptitude
tasksel

seleccione e inicie el nuevo DE

update-alternatives --config x-session-manager
exec startx

Por supuesto, el script anterior es solo una solución, lo ideal sería reinstalar Debian y seleccionar solo este DE.

0
23.09.2018, 14:13
3 ответа

Сценарий, который вы упомянули в sudoers, — это сценарий, который вы будете запускать с помощью sudo.

Итак, если вы хотите сделать sudo /home/me/my-script, то /home/me/my-scriptнужно упомянуть вsudoers

В вашем случае вы можете добавить modprobe hid-multitouchкsudoers


Вы также можете написать script1, чтобы он содержалsudo script2

и поместите скрипт 2 в sudoers.

напр.

script1вызывается кодом горячей клавиши. В suderesне упоминается. он содержит:

#!/bin/bash
script_called_as="$0"
script_full_name="$(readlink -e "$script_called_as")"
script_dir="$(dirname "$script_full_name")"

sudo "$script_dir/«script2»"

Замените «script2»названием вашего скрипта. Тогда расскажите sudeersо вашем script2 (, а не о script1)

1
28.01.2020, 02:18

Предполагая, что /home/hieuc/i3script/rmod_hid.shявляется вашим скриптом, вы сможете запустить sudo /home/hieuc/i3script/rmod_hid.shбез необходимости ввода пароля. Права sudo применяются к указанной команде, а не к командам, вызываемым из сценария, указанного в конфигурации sudo.

С другой стороны, вашему сценарию не потребуется sudo, так как он уже работает от имени пользователя root.

#! /bin/bash
rmmod hid-multitouch && modprobe hid-multitouch

Если вы хотите иметь возможность вызывать свой скрипт без sudo, вы можете проверить идентификатор пользователя:

#! /bin/bash
test "$(id -u)" != 0 && exec sudo /home/hieuc/i3script/rmod_hid.sh "$@"
rmmod hid-multitouch && modprobe hid-multitouch

Это вызовет себя с sudo, если он был вызван без sudo. Сценарий, вызванный с помощью sudo, затем выполнит команды в последней строке от имени пользователя root.

2
28.01.2020, 02:18
hieuc ALL=(ALL) NOPASSWD: /home/hieuc/i3script/rmod_hid.sh

Эта строка в файле sudoers позволяет пользователю hieuc выполнить /home/hieuc/i3script/rmod_hid.shс помощью sudoбез запроса пароля. Например:

hieuc$: sudo ~/i3script/rmod_hid.sh

Поскольку сценарий уже запущен от имени пользователя root, вам не нужно использовать sudoвнутри сценария.

Обратите внимание, что наличие пользовательского -записываемого файла, который можно запустить с помощью sudo, означает, что пользователь может выполнять любую команду от имени пользователя root (, изменив этот скрипт ).

1
28.01.2020, 02:18

Теги

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