Вступление
В FreeBSD, как и в других Unix-подобных ОС, можно создавать учетные записи пользователей для обеспечения интерактивного доступа к системе. Учетные записи пользователей, при правильном управлении, могут добавить уровень безопасности системы, предоставляя способ ограничить доступ отдельного пользователя только к тем файлам и каталогам, которые необходимы ему для выполнения своих задач.
В этом руководстве мы покажем вам, как выполнять следующие задачи управления пользователями на сервере FreeBSD:
-
Добавить пользователя
-
Предоставить привилегии суперпользователя
-
Удалить пользователя
-
Блокировка учетной записи пользователя
-
Разблокировать учетную запись пользователя
Предпосылки
Чтобы следовать этому руководству, у вас должен быть * root * доступ к серверу FreeBSD. То есть вы должны иметь возможность войти на сервер как пользователь root или другой пользователь с привилегиями суперпользователя с помощью команды + sudo +
. Если вы планируете использовать root, вы можете пропустить часть + sudo +
команд примера.
Как добавить пользователя
Самый простой способ добавить нового пользователя - использовать предоставленную утилиту + adduser +
, которая основана на команде + pw +
. Команда + adduser +
добавляет пользователя в систему, делая необходимые добавления в файлы + passwd +
, + master.passwd +
и + group +
, и создавая домашний каталог новых пользователей. Он может быть запущен в интерактивном режиме, с подсказками для сбора информации о новом пользователе или не в интерактивном режиме, что лучше для добавления групп пользователей. Мы рассмотрим его использование в интерактивном режиме.
Чтобы добавить пользователя с + adduser
в интерактивном режиме, который позволяет вам создавать одного пользователя за раз, просто запустите команду без аргументов, подобных этому:
sudo adduser
На этом этапе вы должны предоставить информацию о новом пользователе, ответив на серию запросов. Давайте теперь посмотрим на пример подсказок, с примерами ответов, выделенными красным:
Username:
Full name:
Uid (Leave empty for default):
Login group [sammy]:
Login group is sammy. Invite sammy into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/sammy]:
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]:
Многие из приглашений можно оставить пустыми, чтобы выбрать ответы по умолчанию - квадратные скобки, например + [yes] +
, обозначают значения по умолчанию, но есть пара важных приглашений, которые мы объясним здесь:
-
* Имя пользователя *: Это довольно очевидно. Укажите желаемое имя нового пользователя
-
* Группа входа - <пользователь>. Пригласить <пользователя> в другие группы? *: Это поле позволит вам добавить пользователя в дополнительные группы, указав нужные группы в списке, разделенном пробелами. Чаще всего это используется для предоставления привилегий суперпользователя (sudo) новому пользователю, добавив его в группу
+ wheel +
на FreeBSD, члены группы+ wheel +
могут выполнять команды с привилегиями суперпользователя. Если вы хотите создать обычного (непривилегированного) пользователя, вы можете оставить это поле пустым
Все остальные запросы до этого момента довольно очевидны и, кроме запросов пароля, могут быть оставлены в качестве значений по умолчанию. Конечно, если вам нужно изменить какие-либо другие данные, такие как пользовательский Uid или домашний каталог, не стесняйтесь предоставлять ответ не по умолчанию. Если вы ищете подробное описание любой из подсказок, запустите + man adduser +
для получения дополнительной информации.
После ответа на запросы отобразится сводная информация о новом пользователе:
Username : sammy
Password : *****
Full Name : Sammy Shark
Uid : 1002
Class :
Groups : sammy wheel
Home : /home/sammy
Home Mode :
Shell : /bin/sh
Locked : no
OK? (yes/no):
После просмотра информации о пользователе ответьте на приглашение * OK? * С помощью + yes +
или + no +
. Ваш ответ определяет, создан ли пользователь.
Если вы ответите + yes +
, пользователь будет создан и будет предоставлено подтверждение:
adduser: INFO: Successfully added (sammy) to the user database.
Независимо от того, создаете ли вы пользователя или нет, вы увидите следующее приглашение:
Add another user? (yes/no):
Goodbye!
Если вы закончили, ответьте + no +
. В противном случае ответьте + yes +
и повторите процесс, чтобы создать нового нового пользователя.
На этом этапе, пользователи, которых вы создали, могут быть использованы. Возможно, вы захотите настроить аутентификацию по ключу SSH для повышения безопасности: https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-freebsd-server [check этот урок, чтобы узнать, как.
Как предоставить права на судо
В FreeBSD, как и в других Unix-подобных ОС, вы можете предоставить пользователям возможность запускать команды с привилегиями superuser с помощью команды + sudo +
. Команда + sudo +
позволяет пользователю запускать команду как другой пользователь. Мы покажем вам, как предоставить обычному пользователю права суперпользователя, эффективно позволяя ему выполнять команды как + root +
.
На FreeBSD пользователям, которые являются членами группы + wheel +
, разрешено использовать + sudo +
. Это связано со следующей строкой в файле * sudoers * по умолчанию: + / usr / local / etc / sudoers +
:
%wheel ALL=(ALL) NOPASSWD: ALL
Следовательно, один из способов предоставить обычному пользователю привилегии суперпользователя - добавить пользователя в группу + wheel +
. Чтобы добавить пользователя в группу + wheel +
, используйте команду + pw groupmod +
(замените выделенное имя пользователя):
sudo pw groupmod wheel -m
Эта команда добавляет указанного пользователя в группу + wheel
в файле` + / etc / group` и, таким образом, дает пользователю возможность запускать команды в качестве суперпользователя.
Как удалить пользователя
Самый простой способ удалить пользователя из вашей системы FreeBSD - использовать команду + rmuser +
. Вы можете запустить его без аргументов или передать пользователей, которых вы хотите удалить, в качестве аргументов и следовать инструкциям, чтобы завершить процесс удаления пользователей:
sudo rmuser
Если вы не предоставите имя пользователя в качестве аргумента, вам будет предложено ввести одно или несколько. Затем вас попросят подтвердить, уверены ли вы и следует ли удалить домашний каталог пользователя:
Please enter one or more usernames:
Matching password entry:
sammy:*:1002:1002::0:0:Sammy Shark:/home/sammy:/bin/sh
Is this the entry you wish to remove?
Remove user's home directory (/home/sammy)?
Removing user (sammy): mailspool home passwd.
Как заблокировать учетную запись пользователя
Если вы хотите отключить доступ пользователя к системе, но не удалить его учетные записи и домашний каталог, вы можете заблокировать учетную запись. Самый простой способ отключить пользователя - использовать команду + pw lock +
, с пользователем, которого вы хотите отключить в качестве аргумента, например так:
sudo pw lock
Эта команда работает, добавляя «* LOCKED *» к записи пользователя в файле + / etc / master.passwd +
.
Пользователь не сможет войти в систему, пока учетная запись не будет разблокирована.
Как разблокировать пользователя
Если вы хотите включить пользователя, который был отключен с помощью + pw lock +
, вы можете использовать команду + pw unlock +
, чтобы сделать это:
sudo pw unlock
Эта команда работает путем удаления «* LOCKED *», если он присутствует, из записи пользователя в файле «+ / etc / master.passwd +».
Заключение
Теперь вы должны хорошо понимать основы управления пользователями на сервере FreeBSD.