Недавно я решил избавиться от Windows и установить Linux на мой компьютер. Пока это был хороший опыт. Тем не менее, одна из главных вещей, которые меня беспокоили, это то, что я, возможно, не мог контролировать скорость вентилятора, как я мог с Windows 10. Некоторое время назад Acer выпустила утилиту для управления скоростью вентилятора, и она работала чудесно. Однако, к счастью, мне удалось найти Perl-скрипт, который делает то же самое в Linux, и он работает как чудо, когда я запускаю его с помощью sudo, однако всякий раз, когда я просто запускаю его без sudo, он выдает мне сообщение об отказе в доступе о /dev/port.
Я хочу иметь возможность запускать этот скрипт без рут-доступа и даже написать для него скрипт bash (возможно, даже полный порт с графическим интерфейсом, как в оригинальном приложении Acer) , но пока проблема с / dev / port остается, я ничего не могу сделать, потому что мне всегда нужно будет вводить пароль.
Я искал, и я действительно являюсь членом группы дозвона, перезапустил и перезаписал несколько раз, но даже это мне не помогает. Я также попытался просмотреть исходный код этого сценария Perl, но просто не могу обернуть его вокруг, поскольку в нем много магии сборки.
Итак, у меня такой вопрос: Я хочу выполнить скрипт на Perl, который требует доступа к / dev / port без запуска с использованием sudo, но даже если я в группе дозвона все равно выдает ошибку. Что я делаю не так?
Я предполагаю, что порты, в которых нуждается этот скрипт, не принадлежат к группе dialout, а к какой-то другой группе, такой как tty, но я не могу добавить себя в tty группы.
Несмотря ни на что, спасибо.
в моей системе:
amias@rome:~$ ls -l /dev/port
crw-r----- 1 root kmem 1, 4 May 27 10:53 /dev/port
Это предлагает, чтобы Вы выполнили его через sudo, я также сопротивлялся бы искушению открыть полномочия/dev/port, поскольку это ослабит Вашу безопасность.
то, Что Вы могли сделать, настраивают sudo, чтобы позволить Вам запускать тот скрипт как корень без пароля.
sudo visudo # launch the safe sudo config editor
затем добавляют следующую строку у основания файла, заменяющего Вашими значениями пользователя и путь к сценарию
user localhost = (root) NOPASSWD: /full/path/to/script
, было бы мудро заставить тот сценарий принадлежать корню и не перезаписываемое кем-либо еще, но корень, взломщик мог узнать, что это будет выполнено как корень и могло вставить другие команды, которые могли поставить под угрозу Вашу систему.