miniHowTo: FreeBSD повышение привилегий для пользователя (sudo)

Аккаунт root имеет полные права доступа и используется только для админских задач.
 
Команда sudo позволяет предоставить небольшое расширение прав для пользователя отличного от рута. Это хороший инструмент, если на сервере много пользователей, которым нужны разные привелегии, соответственно с помощию sudo вы можете их делегировать. Пока пользователи не определены, sudo будет выдавать привелегии root.

Установка приложения sudo на FreeBSD

Как уже говорилось выше, sudo разработана для предоставления повышенных ограниченных привелегий для пользователей.
Для установки используем:
# cd /usr/ports/security/sudo/ && make install clean
Или из бинарных пакетов:
# pkg install security/sudo

Добавление нового пользователя FreeBSD

Рекомендованная команда для добавления пользователя является adduser. Описывает мы ее не будем, т.к. после ввода Вы получите интерактивный диалог. Например добавляем пользователя vasya:
# adduser vasya
Примечание: Подробнее о создании пользователей в FreeBSD вы можете ознакомиться на нашем сайте в статье - miniHowTo: FreeBSD работа с учетными записями пользователей

Предоставление административных привелегий пользователю на FreeBSD

Конфигурационный файл располагается в /etc/sudoers or /usr/local/etc/sudoers  и имеет права только на чтение. Для его редактирования крайне рекомендую использовать команду visudo.
$ su -
# visudo
И добавляем -
vasya All=(ALL) ALL
Это позволит пользователю vasya использовать команду sudo и работать с правами root. Соответственно после ввода команды sudo будет запрошен пароль пользователя, для того, чтобы отключить этот запрос (чего я делать не рекомендую), необходимо изменить строку на:
vasya ALL=(ALL) NOPASSWD: ALL
 Если Вы желаете, чтобы пользователь имел привелегии sudo на одном сервере в сети и закрыть его командой /bin/ls как пользователя, деалем следующее:
vasya server2=(vova) /bin/ls  /home/vova
Информация о каждом использовании sudo заноситься в /var/log/messages
Пользователь sudo может повысить свои права до root используя следующие команды:
[vasya@hostname~]$ sudo su -

Или

[vasya@hostname~]$ sudo -s

Или запустить команду как root:

[vasya@hostname ~]$ sudo whoami

Или запустить команду как другой пользователь:

[vasya@hostname ~]$ sudo -u vova ls /home/vova

?Удаление пользователя из sudoers

Для удаления привелегий, идем в конфигурационный файл с помощью команды visudo и удаляем строки для нашего пользователя:
vasya ALL=(ALL) NOPASSWD: ALL
или
vasya All=(ALL) ALL
Для полного удаления пользователя, используйте команду rmuser от имени суперпользователя.
# rmuser vasya

 

0
Голосов пока нет