Проблема с sudoers

Автор vik, 26 сентября 2024, 11:44:40

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

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

vik

Здравствуйте.
Установил Debian 12 LXDE.
Во время установки установил пароль root, пароль пользователя, sudo.

После установки хотел добавить пользователю vik1 привилегии root в sudoers.
Никак не получалось. Файл не сохранялся, а только под другим именем.

Выполнил #gpasswd -a vik1 sudo (добавил vik1 в группу sudo).
Кажется vik1 получил права рут, но ...

#gpasswd -a vik1 sudo  кажется не очень хорошим решением.
Надо в /etc/sudoers добавить в конце строку vik1    ALL=(ALL:ALL) ALL
Но сделать это невозможно.
su -
visudo
и далее открывается файл /etc/sudoers.tmp *
Ctrl-O     Имя файла для записи: /etc/sudoers.tmp 
удаляю окончание .tmp  и все равно /etc/sudoers не изменяется.
Создаются сохраненные /etc/sudoers.tmp

=======================
Сейчас:  $ sudo -l
Matching Defaults entries for vik1 on debian:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,
    use_pty

User vik1 may run the following commands on debian:
    (ALL : ALL) ALL
==================================
$ sudo cat /etc/sudoers
Defaults   env_reset
Defaults   mail_badpass
Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Defaults   use_pty
root   ALL=(ALL:ALL) ALL
%sudo   ALL=(ALL:ALL) ALL
@includedir /etc/sudoers.d
============================
Вопросы. 1. Как изменить /etc/sudoers ? Почему с самого начала и теперь нельзя изменить?
Думаю, что надо поставить # в некоторые строки /etc/sudoers
(Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")

2. После #gpasswd -a vik1 sudo надо ли добавлять в /etc/sudoers  vik1    ALL=(ALL:ALL) ALL ?
Лучше убрать vik1 из группы sudo и добавить в /etc/sudoers  vik1    ALL=(ALL:ALL) ALL ?
Кажется в /etc/sudoers рекомендуют прописать только ограниченные команды для простого пользователя.
Тогда в группу  sudo добавлять не надо выходит? Есть ли какие-то рекомендации ЧТО может делать простой пользователь под своим паролем?

3. Есть разница между правами vik1 и sudoers:
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Или это одно и тоже?

4. Какой оптимальный sudoers в моем случае?

ogost

#1
Debian-way это добавить пользователя в группу sudo. sudoers редактировать не требуется.

26 сентября 2024, 11:51:36
Цитата: vik от 26 сентября 2024, 11:44:40su -
visudo
и далее открывается файл /etc/sudoers.tmp *
Ctrl-O     Имя файла для записи: /etc/sudoers.tmp 
удаляю окончание .tmp  и все равно /etc/sudoers не изменяется.
А вы не изменяйте имя файла. Это так задумано.
Создаётся .tmp файл, потом visudo проверяет этот файл на наличие ошибок. Если нет ошибок, то visudo заменяет искомый sudoers. Иначе если есть ошибка, то потенциально sudo вообще не будет работать и вы окажетесь без прав sudo.

26 сентября 2024, 11:53:56
И вообще лучше не трогайте sudoers, достаточно добавить пользователя в группу sudo, потому что в sudoers есть строчка
Цитата: vik от 26 сентября 2024, 11:44:40%sudo   ALL=(ALL:ALL) ALL

vik

#2
--Если нет ошибок, то visudo заменяет искомый sudoers.
У меня sudoers не изменялся после добавления vik1    ALL=(ALL:ALL) ALL
Созданы несколько .tmp файлов.
Значит была моя ошибка или после #gpasswd -a vik1 sudo  это есть ошибка для visudo ?

Как насчет варианта: не добавлять пользователя в группу sudo, а только дать ему в
sudoers полномочия на некоторые действия?
Если это самый лучший вариант, то что позволить?
Может есть какие-то рекомендации, готовые решения для обычного пользователя ?

Есть еще (кроме уже мною удаленных .tmp) sudoers.save и здесь есть vik1    ALL=(ALL:ALL) ALL
Удалю и его.

yoric

Теперь надо бояться лишнего движения, как бы чего не того. Ведь не трудно иногда, когда надо, ввести пароль и сделать серьёзные дела? А так всё время под дамокловым мечом самоуничтожения.