Добавление, удаление и предоставление привилегий Sudo пользователям во FreeBSD
Создайте пользователя sudo во FreeBSD
Первое, что нужно сделать после установки FreeBSD, — это создать обычного пользователя с доступом sudo. Потому что всегда лучшей практикой безопасности является использование пользователя без полномочий root для администрирования сервера. В этом кратком руководстве объясняется, как добавлять, удалять и предоставлять привилегии sudo пользователям в операционных системах FreeBSD.
Все шаги, приведенные ниже, проверены на только что установленной серверной версии FreeBSD 13.2.
Предварительные условия
Чтобы следовать инструкциям, убедитесь, что у вас есть:
- Root-доступ к вашей системе FreeBSD,
- Пароль пользователя
root
.
1. Установите Sudo во FreeBSD.
sudo — это специальная программа, которая позволяет расширить возможности обычного пользователя выполнять административные задачи, не раскрывая пароль пользователя root
в операционных системах Linux и Unix.
При минимальной установке FreeBSD программа sudo
не устанавливается по умолчанию.
Чтобы установить пакет sudo
в вашей системе FreeBSD, запустите:
pkg install sudo
Вы также можете установить sudo из Коллекции портов.
Чтобы установить sudo из портов, запустите:
cd /usr/ports/security/sudo/
make install clean
2. Создайте нового пользователя во FreeBSD.
Войдите в систему как пользователь root
:
ssh root@<ip-address-of-freebsd>
Создайте нового обычного пользователя, например ostechnix, с помощью команды adduser
:
adduser
Вам будет предложено ответить на пару вопросов, таких как имя пользователя, полное имя, имя группы входа, класс входа, оболочка по умолчанию и т. д. В большинстве случаев значения по умолчанию вполне подходят. Нажмите клавишу ВВОД, чтобы принять значения по умолчанию, и дважды введите пароль.
Username: ostechnix
Full name: Ostechnix
Uid (Leave empty for default):
Login group [ostechnix]:
Login group is ostechnix. Invite ostechnix into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/ostechnix]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : ostechnix
Password : *****
Full Name : Ostechnix
Uid : 1001
Class :
Groups : ostechnix
Home : /home/ostechnix
Home Mode :
Shell : /bin/sh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (ostechnix) to the user database.
Add another user? (yes/no): no
Goodbye!
Создать пользователя во FreeBSD
Мы только что создали обычного пользователя под названием «ostechnix». Это пользователь без полномочий root, поэтому мы не можем выполнять с его помощью какие-либо административные задачи.
Чтобы проверить, есть ли у пользователя привилегии sudo, запустите:
sudo -lU ostechnix
User ostechnix is not allowed to run sudo on freebsd.
Замените «ostechnix» в приведенной выше команде своим именем пользователя.
Как вы можете видеть в приведенном выше выводе, пользователь «ostechnix» не имеет доступа к sudo. Итак, давайте продолжим и предоставим этому пользователю доступ sudo.
3. Предоставление привилегий Sudo пользователям во FreeBSD
Вы можете предоставить привилегии sudo одному пользователю или группе пользователей одновременно.
3.1. Назначьте привилегии Sudo одному пользователю
Отредактируйте файл sudoers
, используя следующую команду от имени пользователя root
:
visudo
Прокрутите вниз, пока не найдете следующую запись:
root ALL=(ALL) ALL
Сразу после приведенной выше записи добавьте следующую строку:
ostechnix ALL=(ALL) ALL
В приведенной выше строке замените «ostechnix» на свое собственное. Нажмите клавишу ESC и введите :wq
, а затем нажмите ENTER, чтобы сохранить файл и закрыть его. Выйдите из системы и войдите снова, чтобы обновить изменения.
Поздравляю! Пользователю «ostechnix» предоставлены права sudo, и теперь он может запускать любые команды на любых хостах.
3.2. Назначьте привилегии Sudo группе
Чтобы предоставить доступ sudo группе пользователей без полномочий root, просто добавьте их в группу wheel
, используя следующую команду.
pw group mod wheel -m ostechnix
Опять же, замените «ostechnix» на свое имя пользователя.
Затем убедитесь, что члены группы колес могут выполнять любые команды.
Для этого запустите:
visudo
Убедитесь, что следующая строка присутствует и не закомментирована.
%wheel ALL=(ALL:ALL) ALL
Разрешить членам группы колес выполнять любые команды
Нажмите ESC, введите :wq
и нажмите ENTER, чтобы сохранить файл и закрыть его.
Теперь члены группы Wheel могут запускать любую команду на любых хостах.
4. Проверьте доступ к Sudo
Убедитесь, что пользователю предоставлен доступ sudo, используя следующую команду от имени пользователя root
.
sudo -lU ostechnix
User ostechnix may run the following commands on freebsd:
(ALL : ALL) ALL
Если вы видите строку ALL=(ALL) ALL
в приведенном выше выводе, пользователь (т. е. «ostechnix») может выполнять любые команды на любом хосте.
5. Запустите административные команды
Выйдите из текущего сеанса и снова войдите в систему как вновь созданный пользователь sudo.
Альтернативно вы можете напрямую переключиться на другого пользователя без необходимости выхода из текущего сеанса, используя следующую команду:
sudo -i -u ostechnix
Переключиться на нового пользователя во FreeBSD
Теперь проверьте, может ли пользователь выполнять какие-либо административные задачи с разрешением sudo
:
Запустите команду Pkg с помощью Sudo
Как вы можете видеть в приведенном выше выводе, пользователь «ostechnix» может запускать административную команду с доступом sudo.
5.1. Просмотр привилегий пользователя
Вы можете проверить, какие команды разрешено запускать пользователям, используя следующую команду.
sudo -l
Или,
sudo -ll
Пример вывода:
User ostechnix may run the following commands on freebsd:
Sudoers entry:
RunAsUsers: ALL
RunAsGroups: ALL
Commands:
ALL
6. Удалить доступ Sudo у пользователя
Выйдите из системы пользователя, у которого вы хотите отозвать привилегию sudo, и войдите в систему как пользователь root
.
Если вы предоставили доступ к sudo одному пользователю, отредактируйте файлы sudoers:
visudo
Удалите следующую запись из файла sudoers:
ostechnix ALL=(ALL) ALL
Удалить доступ к Sudo у пользователя
Сохраните файл и закройте его.
Если вы хотите лишить члена группы wheel доступа к sudo, просто удалите его из группы.
Войдите в систему как пользователь root и выполните следующую команду, чтобы удалить привилегию sudo у пользователя с именем «ostechnix».
pw groupmod wheel -d ostechnix
Теперь пользователь «ostechnix» больше не является членом группы «wheel», поэтому он не может выполнять какие-либо административные задачи с доступом sudo.
Вы можете проверить это с помощью команды:
sudo -lU ostechnix
User ostechnix is not allowed to run sudo on freebsd.
Заключение
В этом руководстве мы обсудили, как установить программу Sudo и как создать пользователей без полномочий root с разрешением sudo во FreeBSD. Мы также рассмотрели, как удалить доступ sudo у пользователя или группы пользователей во FreeBSD.
Как указано во вводном разделе, всегда рекомендуется добавлять обычного пользователя с правами sudo и избегать выполнения административных задач от имени пользователя root.