Как предоставить sudo доступ к bash script?

У меня есть bash script (chbr.sh), чтобы изменить яркость дисплея на терминале, поскольку мои клавиши яркости не работают.

`sudo setpci -s 00:02.0 F4.B=30`

Теперь, каждый раз, когда я запускаю этот script, он запрашивает пароль, который мне не нравится. Итак, я немного погуглил и узнал, что можно отредактировать файл /etc/sudoers, чтобы отключить функцию пароля.

Итак, я редактировал файл sudoers с приведенным ниже содержанием

ronnie ALL = (ALL) NOPASSWD: /home/ronnie/chbr.sh

Теперь, когда я запускаю свой script как ./chbr.sh, он снова запрашивает мой пароль. Итак, это не правильный способ предоставить sudo доступ к bash script или что я делаю неправильно здесь.

[email protected]:~$ ls -l chbr.sh
~rwxrwxr-x 1 ronnie ronnie 46 Jul 13 15:59 /home/ronnie/chbr.sh

Ответ 1

Вы делаете все правильно, но выполните script с полным путем:

$ sudo /home/ronnie/chbr.sh

Ответ 2

Запускаете ли вы sudo /home/ronnie/chbr.sh?

С содержимым файла

setpci -s 00:02.0 F4.B=30

Или вы разрешаете пользователю ronnie sudo setpci без пароля:

ronnie ALL = (ALL) NOPASSWD: /sbin/setpci < - или любой путь, в котором находится ваш setpci.