Настройка SUDO

Автор mightyraven, 10 мая 2015, 21:37:12

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mightyraven

Доброго времени суток.
Прочитал все что мог. и в инете уже просидел часов 20. Но не могу настроить sudo
Редактирую я не файл sudoers, а создал новый в папке sudoers.d
пишу там
1.

userpc ALL = (root) /usr/bin/pon

Командую userpc@debianpc:~$ sudo pon vpnglbux debug nodetach
Выдает:

>>> /etc/sudoers.d/sudoprava: syntax error near line 1 <<<
sudo: parse error in /etc/sudoers.d/sudoprava near line 1
sudo: no valid sudoers sources found, quitting
sudo: не удаётся инициализировать модуль политики

2.
Если пишу так

userpc ALL = (root) ALL

Командую userpc@debianpc:~$ sudo pon vpnglbux debug nodetach
Все работает ок. Но мне нужны разрешения не на все команды. только на PON.
3.
Этот вариант  уже совсем ни в какие ворота, но работает чуть дальше 1 варианта

userpc ALL = (root) PON

Командую userpc@debianpc:~$ sudo pon vpnglbux debug nodetach
Выдает:Sorry, user userpc is not allowed to execute '/usr/bin/pon vpnglbux debug nodetach' as root on debianpc.
Хотя тут и не понятно как он ассоциирует PON с командой /usr/bin/pon, я же в алиясах не прописывал нигде ее сокращение???

Помогите настроить... пожалуйста что не так в первом варианте???? почему ошибка синтаксиса???

Leo

#1
Цитата: mightyraven от 10 мая 2015, 21:37:12>>> /etc/sudoers.d/sudoprava: syntax error near line 1 <<<
Для правки /etc/sudoers имеется visudo, которая проверяет синтаксис файла после редактирования:
visudo
Для создания/правки файлов в /etc/sudoers.d/ используется эта же команда с соответствующим параметром:
visudo -f /etc/sudoers.d/filename

Сообщение объединено: 10 Май 2015, 23:09:01

Дополнительно можно почитать хотя-бы вот здесь.

Сообщение объединено: 10 Май 2015, 23:12:24

Имена файлов в /etc/sudoers.d не должны заканчиваться на '~' (тильду) или содержать '.' (точку).

Сообщение объединено: 10 мая 2015, 23:16:00

Ну а если с английским дружите - сам бог велел обратиться к первоисточнику.

mightyraven

#2
Leo, Я все это читал. ссылку которую вы мне дали я раз на 10 перечитал. но так и не понял. почему синтаксис строки userpc ALL = (root) /usr/bin/ponне верен. что не так???

вот пример из вашей ссылки
steve          CSNETS = (operator) /usr/local/op_commands/

Пользователь steve может запускать любые команды в директории /usr/local/op_commands/ на машинах в сети CSNETS но только в качестве пользователя operator


По моему 1 в 1 как у меня.

vacka

При установке Debian можно легко настроенное sudo получить, пропустив страничку мимо с настройками SU-ROOT

Leo

mightyraven, пожалуй соглашусь с вами - странное поведение с проверкой синтаксиса файлов в папке /etc/sudoers.d/, то что вполне нормально записывается в файл /etc/sudoers вызывает ошибку в файле, находящемся в папке /etc/sudoers.d/, не понятно почему.

mightyraven

То есть вариант 1 править файл sudouers??? ну попробую туда вставить

Leo

1. Открыл новый файл в /etc/sudoers.d/
visudo -f /etc/sudoers.d/hw
2. Написал в нём такой текст

# Allow leo to execute hw.php
leo     ALL=(leo) /usr/bin/hw.php


Работает. Обратите внимание - после строки с раздачей прав перевод каретки.

mightyraven

Огромное спасибо!!!!