LinuxForum.Fans
Тема

Непонятка с sudo

Автор: Cruiser78 13 сообщений 8518 просмотров
#99623

Привет всем!

Дано RFRemix-14.

Глобальная цель - научить VLC устойчиво играть IPTV на ноутбуке. Ноут имеет особенность - он может быть включен или в проводное соединение (eth0), или к WiFi (wlan0). Соответственно, перед запуском VLC разбираем, куда именно воткнут ноут и перенапрявляем мултикастный поток на нужный интерфейс. Если этого не делать, то VLC работает неустойчиво. Однако, для того, чтобы задействовать комaнду ip... нужны рутовые полномочия. Или - по sudo ввод пароля рута. Юзеру это сто раз не надо. Решение - прописываем (используя visudo) в sudoers строчку:

text
%users localhost=NOPASSWD:/sbin/ip

Вводим юзера в группу users... И никакой реакции. Пароль sudo как спрашивало, так и спрашивает... Я даже ноут перезагружал... Что я неправильно делаю?

===========================
Всем спасибо. Все советы были правильны. И я тоже делал всё правильно. Кроме одной мелочи. При заведении юзера я согласился с предложением дать ему право делать sudo. При этом firsboot (или как его) сделал в каталоге /etc/sudoers.d файл с именем юзера со следущим содержимым

text
username ALL=(ALL) ALL

Оказывается поведение sudo такое, что данное содержимое перебивает все остальные, более частные, настройки. Настройки, которые уточняют этот ALL для конкретных случаев. Удалил файл - всё заработало как и хотел.

#99634

Может пробел после NOPASSWD:

#99636
Vascom написал:
Может пробел после NOPASSWD:

делал. И вместо localhost ALL вписывал, и имя этого хоста по hostname. И имя конретного юзера вместо группы....
Просит пароль, хоть убейся...

#99638

Сделай

text
имя_пользователя        ALL=(ALL)       NOPASSWD: ALL

У меня так работает. А у тебя?

#99642
Vascom написал:
Сделай
text
имя_пользователя        ALL=(ALL)       NOPASSWD: ALL

У меня так работает. А у тебя?

А у меня нет.

пишет:

[console][sudo] pasword for username:[/console]

А далее - введешь пароль, он продержится (как прописано в доках) несколько минут. В это время можно работать безпарольно. Это понятно. Непонятно, как отучить sudo пароль запрашивать вообще. У меня по постановке задачи все вообще должно идти в фоне, как подготовка к запуску VLC...

#99644

Строка, которую я указал 100% должна работать. Что-то ты пишешь не так или не туда.

#99645
Cruiser78 написал:
делал. И вместо localhost ALL вписывал, и имя этого хоста по hostname. И имя конретного юзера вместо группы....
Просит пароль, хоть убейся...

убиваться не надо, надо юзать visudo, она синтаксис проверяет.
и файл должен заканчиваться пустой строкой.

#99651
drBatty написал:
убиваться не надо, надо юзать visudo, она синтаксис проверяет.
и файл должен заканчиваться пустой строкой.

Именно через visudo (о чем и специально отметил в топикстартовом письме, и редактирую настройку. И файл пустой строкой заканчивается. Это первое, что я проверил.

Хотел через expect скриптик сделать... Так он, сволочь, пишет что не хочет команду sudo поддерживать...Для
Для меня главное - отучить sudo от ввода пароля.

#99652

Покажи тогда нам весь файл /etc/sudoers. Покажи команду, которую ты вводишь и что получаешь в ответ.

#99656

ну вот моя строчка:

text
doc ALL = NOPASSWD: /usr/bin/lsof -i -r 3

она 100% рабочая.
только я имя пользователя ставлю. а не группы. может в этом дело?

вот что пишет мой мануал:

Note, however, that the PASSWD tag has no effect on users who are in the group specified by the
exempt_group option.

By default, if the NOPASSWD tag is applied to any of the entries for a user on the current host, he or she
will be able to run sudo -l without a password. Additionally, a user may only run sudo -v without a
password if the NOPASSWD tag is present for all a user's entries that pertain to the current host. This
behavior may be overridden via the verifypw and listpw options.

может в этом дело?

#99680
drBatty написал:
By default, if the NOPASSWD tag is applied to any of the entries for a user on the current host, he or she
will be able to run sudo -l without a password.
может в этом дело?

Да не запускает оно ничего с ключом -l (у меня). Только команду на терминал выводит, типа echo...

#99684

Cruiser78, ты файл с настройками и логи покажешь?

#99690
Vascom написал:
Cruiser78, ты файл с настройками и логи покажешь?

пауза. форум не берет длинный текст.
-----------------------------
Всем спасибо. Решено. Решение в топикстартерном посте.

Войдите или зарегистрируйтесь, чтобы ответить.