Создание пользователей во FreeBSD
Вероятно, одной из самых часто решаемых задач, в процессе администрирования, является управление учетными записями пользователей. За выражением "управление учетными записями пользователей", скрывается целый ряд действий, осуществляемых администратором системы, настройка классов пользователей, создание учетных записей пользователей, изменение учетных записей, удаление или блокировка учетных записей, управление пользовательскими паролями, управление группами. Операционная система FreeBSD, предоставляют удобные инструменты, для облегчения жизни администратору сервера.
Создание учетной записи пользователя в операционных системах FreeBSD, программа adduser
Самым простым и удобным вариантом, для создания учетной записи пользователя в операционной системе FreeBSD, на мой взгляд является утилита adduser. Запущенная без параметров, adduser, переходит в интерактивный режим, то есть в процессе, вам будет задан ряд вопросов, а введенная вами информация будет использована для создания учетной записи. Выглядит это следующим образом:
vds-admin /root# adduser Итак, запускаем программу Username: newuser вводим имя создаваемого пользователя Full name: vasya pupkin полное имя, можно оставить пусты, просто нажать Enter Uid (Leave empty for default): user id, можно ввести самому, начиная с номера 1001, либо нажать Enter, система выберет сама Login group [newuser]: группа в которую входит создаваемый пользователь, по умолчанию совпадает с именем Login group is newuser. Invite newuser into other groups? []: включить-ли пользователя в другие группы, если нет, жмем Enter Login class [default]: класс пользователя, о них поговорим чуть позже, на данном этапе, жмем Enter Shell (sh csh tcsh nologin) [sh]: csh здесь предлагается выбрать системную оболочку, если вы не собираетесь давать данной учетной записи, удаленный доступ к системе, например через SSH, вписываем nologin, либо выбираем из предложенных вариантов, я обычно ставлю csh Home directory [/home/newuser]: назначаем домашнюю директорию, если значение по-умолчанию устраивает, жмем Enter Home directory permissions (Leave empty for default): права доступа на домашнюю директорию, что-бы оставить по-умолчанию, жмем Enter Use password-based authentication? [yes]: использовать-ли авторизацию по паролю Use an empty password? (yes/no) [no]: можно-ли использовать пустые пароли Use a random password? (yes/no) [no]: система предлагает сгенерировать вам пароль, что-бы согласиться, нужно написать yes на заключительном этапе создания учетной записи, будет показан сгенерированный пароль если предпочитаете ставить пароль вручную, жмите Enter Enter password: вводим пароль, имейте в виду, программа не покажет, что вы вообще что-либо вводите так что будьте внимательны Enter password again: повторный ввод пароля Lock out the account after creation? [no]: заблокировать-ли учетную запись после создания
Далее, для подтверждения, будут показаны введенные вами данные
Username : newuser Password : ***** Full Name : Uid : 1011 Class : Groups : newuser Home : /home/newuser Home Mode : 777 Shell : /bin/csh Locked : no OK? (yes/no): yes
Если все устраивает, пишем yes и жмем Enter. После этого, программа спросит, приступать-ли ей к созданию следующей учетной записи:
Add another user? (yes/no): no
Ограничимся одним пользователем, набираем no, жмем Enter.
Итак, что произошло в момент создания учетной записи пользователя
- запись о новом пользователе была добавлена в файл /etc/passwd
- создана домашняя директория пользователя, в нашем случае /home/newuser
- в домашнюю директорию, были скопированы файлы из директории /usr/share/skel
- пользователь был добавлен в соответствующую группу, запись об этом добавлена в файл /etc/group
- в директории /var/mail был создан почтовый файл с именем пользователя
Вот собственно и все. Довольно просто, не правда-ли ?
Пакетное создание учетных записей пользователей в операционных системах FreeBSD, программа adduser
Утилита adduser, позволяет выполнять добавление целого списка пользователей разом. Это может понадобится, например если вам нужно добавить десяток одинаковых пользователей на несколько серверов. Что-бы воспользоваться этой возможностью, нужно создать конфигурационный файл и использовать опцию -f, команды adduser.
Конфигурационный файл представляет из себя обычный текстовый файл в котором перечислены все параметры для создаваемых учетных записей. Каждый пользователь прописан на отдельной строке, строка в свою очередь состоит из 10 полей, разделенных знаком ":". Вот содержимое файла:
vds-admin /# cat users.txt newuser1:3000:3000::::vasya pupkin:/home/newuser1:/bin/sh:12345 newuser2:3001:3001::::vova tyapkin:/home/newuser2:/bin/csh:67890 newuser3:3002:3002::::kisa vorobyaninov:/home/newuser3:/bin/tcsh:1234567890
Что собственно тут написано, по сути все то-же самое, что мы вводим при создании учетной записи, в интерактивном режиме. Заметьте, в нашем случае, заполнены не все поля, это вполне нормально.
- Имя пользователя
- Идентификатор пользователя, UserID, должен быть уникальным в системе, то есть нужно выбирать тот, который еще не используется, для удобства можно оставить пустым, ID будет назначен автоматически
- Идентификатор группы, GroupID, для него справедливо все сказанное о UserID
- Класс пользователя, мы оставили поле пусты, будет назначен класс по-умолчанию
- Срок действия пароля пользователя
- Срок действия учетной записи пользователя
- Полное имя пользователя
- Домашняя директория
- Оболочка, как и в случае интерактивного создания пользователя, можно выбрать из нескольких или запретить использовать nologin, я всем назначил разные
- Пароль пользователя
Обратите внимание, пароли пользователей в конфигурационном файле лежат в открытом виде, тогда как после создания учетных записей, они будут закодированы в файл /etc/master.passwd, поэтому настоятельно рекомендую держать конфигурационный файл подальше от посторонних глаз.
Прежде чем использовать утилиту adduser с этим конфигурационным файлом, нужно проделать еще одно действие, а именно, добавить необходимые группы, просто прописав их в файл /etc/group в следующем формате:
newuser1:*:3000:
newuser2:*:3001:
newuser3:*:3002:
Что-бы не заморачиваться с UserID и GroupID, можно, в нашем конфигурационном файле, просто оставить соответствующие поля пустыми, система сама выберет свободные значения и назначит их, при этом будут автоматически созданы необходимые записи в файле /etc/group.
Запускаем:
vds-admin /# adduser -f ./users.txt Передаем наш конфиг утилите adduser adduser: INFO: Successfully added (newuser1) to the user database. adduser: INFO: Successfully added (newuser2) to the user database. adduser: INFO: Successfully added (newuser3) to the user database.
Как видите все прошло успешно
Установка значений "по-умолчанию" для создаваемых учетных записей пользователей в операционных системах FreeBSD
При желании можно создать конфигурационный файл /etc/adduser.conf, откуда программа adduser будет брать значения при создании новых учетных записей. Лучше всего это сделать, запустив adduser с ключом -C. Процесс выглядит следующим образом:
vds-admin /# adduser -C Uid (Leave empty for default): Login group []: Enter additional groups []: Login class [default]: Shell (sh csh tcsh nologin) [sh]: csh Home directory [/home/]: 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]: Lock out the account after creation? [no]: Pass Type : yes Class : Groups : Home : /home/ Home Mode : Shell : /bin/csh Locked : no OK? (yes/no): yes
Значения, которые вы планируете устанавливать сами в процессе работы утилиты adduser, просто оставляйте пустыми. В итоге будет создан файл конфигурации /etc/adduser.conf, примерно такого содержания:
vds-admin /# cat /etc/adduser.conf # Configuration file for adduser(8). # NOTE: only *some* variables are saved. # Last Modified on Thu Jun 25 06:49:19 UTC 2009. defaultHomePerm= defaultLgroup= defaultclass= defaultgroups= passwdtype=yes homeprefix=/home defaultshell=/bin/csh udotdir=/usr/share/skel msgfile=/etc/adduser.msg disableflag= uidstart=1011
При необходимости, данный файл, всегда можно отредактировать вручную, полный список возможных опций можно посмотреть командой man adduser.conf. Теперь при создании учетной записи пользователя, программа adduser, запущенная без ключей, то есть в интерактивном режиме, будет предлагать значения указанные в файле конфигурации.
Опции команды adduser и их использование при создании учетной записи в операционной системе FreeBSD
Любые значения определенные в файле /etc/adduser.conf, можно переопределить из командной строки с помощью опций утилиты adduser. Например, назначить другое местоположение домашней директории пользователя, можно следующим образом:
vds-admin /# adduser -d /otherhome в данном случае домашняя директория будет /otherhome/user_name
Назначить другую оболочку:
vds-admin /# adduser -s /bin/sh в качестве оболочки будет использован /bin/sh
Так-же можно переопределить файлы, которые копируются в домашнюю директорию пользователя при создании учетной записи. Посмотреть их можно командой
vds-admin /# ls -l /usr/share/skel total 18 -rw-r--r-- 1 root wheel 751 Mar 9 16:37 dot.cshrc -rw-r--r-- 1 root wheel 248 Mar 9 16:37 dot.login -rw-r--r-- 1 root wheel 158 Mar 9 16:37 dot.login_conf -rw------- 1 root wheel 373 Mar 9 16:37 dot.mail_aliases -rw-r--r-- 1 root wheel 331 Mar 9 16:37 dot.mailrc -rw-r--r-- 1 root wheel 766 Mar 9 16:37 dot.profile -rw------- 1 root wheel 276 Mar 9 16:37 dot.rhosts -rw-r--r-- 1 root wheel 975 Mar 9 16:37 dot.shrc
Если вам нужно что-бы при создании учетной записи, в домашней директории пользователя, создавались еще какие-то файлы или папки ( например папка public_html ), просто добавьте их в данную директорию, при выполнении adduser скопирует их. Кроме того, можно создать свою заготовку для директорий, создаваемых пользователей и назначить ее для использования командой adduser, в командной строке.
vds-admin /# adduser -k /usr/share/newskel
Что-бы совсем проигнорировать настройки из файла /etc/adduser.conf и использовать системные значения по-умолчанию, можно использовать ключ -N:
vds-admin /# adduser -N
Если вам не нужно что-бы при создании учетной записи, создавалась домашняя директория пользователя, используйте следующий вариант:
vds-admin /# adduser -D
По-умолчанию, утилита adduser, использует класс пользователей "default", что-бы изменить это значение, используйте:
vds-admin /# adduser -L newclass
Комментарии
Отправить комментарий