Поиск по сайту:

Добавление, удаление и предоставление привилегий 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.

Статьи по данной тематике