В статье описано, как настроить права доступа через sudo для отдельных пользователей и групп в Debian 13, включая запрет выполнения отдельных команд и ведение журнала действий.
1. Установка sudo
Если пакет ещё не установлен, выполните:
root@localhost:~# apt -y install sudo
2. Предоставление полных прав пользователю
Откройте файл настроек sudo с помощью безопасного редактора:
root@localhost:~# visudo
Добавьте в конец строки:
trixie ALL=(ALL:ALL) ALL
Это даёт пользователю trixie полный доступ к привилегиям root. Для проверки:
trixie@localhost:~$ cat /etc/shadow cat: /etc/shadow: Permission denied trixie@localhost:~$ sudo cat /etc/shadow [sudo] password for trixie: root:xxxxxxxxxx:19520:0:99999:7::: ...
3. Запрет выполнения отдельных команд
Можно разрешить все команды, кроме указанных. В том же файле visudo добавьте:
# Cmnd alias specification Cmnd_Alias SHUTDOWN = /usr/sbin/halt, /usr/sbin/shutdown, \ /usr/sbin/poweroff, /usr/sbin/reboot, /usr/sbin/init, /usr/bin/systemctl trixie ALL=(ALL:ALL) ALL, !SHUTDOWN
Теперь попытка перезагрузки завершится ошибкой:
trixie@localhost:~$ sudo /usr/sbin/reboot Sorry, user trixie is not allowed to execute '/usr/sbin/reboot' as root on localhost.
4. Предоставление прав группе для управления пользователями
Создайте командный алиас и группу:
# Cmnd alias specification Cmnd_Alias USERMGR = /usr/sbin/adduser, /usr/sbin/useradd, /usr/sbin/newusers, \ /usr/sbin/deluser, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd %usermgr ALL=(ALL:ALL) USERMGR
Создайте группу и добавьте пользователя:
root@localhost:~# groupadd usermgr root@localhost:~# usermod -aG usermgr trixie
Теперь пользователь может управлять учётными записями:
trixie@localhost:~$ sudo /usr/sbin/useradd testuser trixie@localhost:~$ sudo /usr/bin/passwd testuser Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
5. Настройка прав для отдельных пользователей на конкретные команды
Пример:
fedora ALL=(ALL:ALL) /usr/sbin/visudo
debian ALL=(ALL:ALL) /usr/sbin/adduser, /usr/sbin/useradd, /usr/sbin/newusers, \
/usr/sbin/deluser, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd
ubuntu ALL=(ALL:ALL) /usr/bin/vim
Каждый пользователь получает доступ только к указанным командам.
6. Просмотр журнала sudo через journald
Для аудита используйте:
root@localhost:~# journalctl -t sudo
Пример записей:
Aug 10 18:20:54 debian sudo[1515]: trixie : TTY=ttyS0 ; PWD=/home/trixie ; USER=root ; COMMAND=/usr/bin/cat /etc/shadow Aug 10 18:20:54 debian sudo[1515]: pam_unix(sudo:session): session opened for user root(uid=0) by root(uid=1001) Aug 10 18:20:54 debian sudo[1515]: pam_unix(sudo:session): session closed for user root


Следи за своими финансами легко прямо в Telegram — начни вести учёт доходов и расходов уже сейчас!