FreeBSD

FreeBSD: Управление учетными записями пользователей

Небольшая статья посвященная управлению пользователями и группами в операционной системе FreeBSD.

Добавить пользователя или группу можно несколькими способами (sysinstall, adduser, pw …). Рассмотрим самые популярные программы для управления пользователями в ОС freeBSD.

 

1. Добавление пользователей используя adduser

И так рассмотрим указанную выше программу adduser (за слешами будет // мой комментарий):

#adduser
Username: test // указываем имя будующего пользователя
Full name: Test User // полное имя
Uid (Leave empty for default): // юзер АйДи (индификационный номер в системе) желательно оставить пстым, система сама назначит
Login group [test]: // вносим пользователя в его группу. оставляем пустым
Login group is test. Invite test into other groups? []: wheel // можно добавить пользователя в другую группу если есть необходимость
Login class [default]: // оставим пустым
Shell (sh csh tcsh zsh nologin) [sh]: tcsh // выбираем ‘оболочку’ командной строки, лучше вписать tcsh, sh не удобен IMHO
Home directory [/home/test]: // домашняя папка можно разместить где удобно но лучше оставить по дефолту
Use password-based authentication? [yes]: // оставляем пустым
Use an empty password? (yes/no) [no]: // пользователь с пустым паролем это не безопасно, выбор по умолчанию no
Use a random password? (yes/no) [no]: // система может генерировать случайный пароль по умолчанию no
Enter password: // если вы отвергли 2 верхних пункта вам предложено ввести пароль самостоятельно
Enter password again: // повторите ввоб пароля
Lock out the account after creation? [no]: // заблокировать учетную запись пользователя после создания
Username : test
Password : ****
Full Name : Test User
Uid : 1001
Class :
Groups : test wheel
Home : /home/test
Shell : /usr/local/bin/tcsh
Locked : no
OK? (yes/no): yes // если вышеуказанное совпадает с тем что вы хотели вводите yes
adduser: INFO: Successfully added (test) to the user database.
Add another user? (yes/no): no // предложение добавить еще пользователя, ненасытный, ему только пользователей подавай
Goodbye! // и вам не хворать
#

2. Удаление пользователей используя rmuser

И так добавить — добавили. Теперь нужно знать как удалить /> Помните «ломать — не строить!» Удалить куда проще чем добавить пользователя и назначить ему нужные настройки и права.
Удаляем следующей программой: rmuser
Что может эта программа:

  1. Удаление записи пользователя из crontab (если она присутствует).
  2. Удаляет задачи at, принадлежащие пользователю.
  3. Уничтожает все процессы, принадлежащие пользователю.
  4. Удаляет пользователя из локального файла паролей.
  5. Удаляет домашний каталог пользователя (если он принадлежит пользователю).
  6. Удаляет принадлежащую пользователю входящую почту из /var/mail.
  7. Удаляет все файлы, принадлежащие пользователю, из каталогов с временными файлами, например /tmp.
  8. Наконец, удаляет имя пользователя из всех групп, которым оно принадлежит, в /etc/group.

# rmuser test // удаляем пользователя test
Matching password entry:
test:*:1001:1001::0:0:Test User:/home/test:/usr/local/bin/tcsh
Is this the entry you wish to remove? y // перестраховка, того ли юзера вы собрались удалять
Remove user’s home directory (/home/test)? y // удалить пользовательскую папку со всем содержимым ?
Updating password file, updating databases, done.
Updating group file: trusted (removing group test — personal group is empty) done.
Removing user’s incoming mail file /var/mail/test: done.
Removing files belonging to test from /tmp: done.
Removing files belonging to test from /var/tmp: done.
Removing files belonging to test from /var/tmp/vi.recover: done. // всё! пользователь ушел в мир иной и все папки за ним подчищены.
#

Если желаете что бы программа не грузила Вас всеми этими вопросами — используйте параметр -y (rmuser -y) фактически мы соглашаемся на все условия.

3. Смена пароля программами passwd и chpass

Как изменить пароль у пользователя freeBSD? — спросите Вы. Элементарно! — ответит вам любой читавший дальше =).
Программки для смены пароля: passwd и chpass.
passwd — это обычный способ изменения собственного пароля пользователя, или пароля другого пользователя суперпользователем.
Предствим на минутку что Вы простой юзер с именем test и хотите себе поменять пароль:

% passwd
Changing local password for test.
Old password: // вводим старый пароль
New password: //вводим новый пароль
Retype new password: // повторяем новый пароль
passwd: updating the database…
passwd: done // готово пароль изменен

Теперь представим что Вы суперпользователь и хотите изменить пароль простому смертному юзеру:

# passwd test // обязательно укажите имя пользователя иначе измените свой пароль
Changing local password for test.
New password: // новый пароль (как видите старый пароль знать не нужно — преимущества суперюзера)
Retype new password: //повторим пароль
passwd: updating the database…
passwd: done // готово, хехе

Рассмотрим теперь более функциональную примочку — chpass.
chpass — может не только менять пароль пользователя, а и остальные его данные.
Только системные администраторы с правами суперпользователя могут изменять информацию и пароли других пользователей с помощью программы chpass. Простые пользователи тоже могут использовать эту программу, но изменять позволено лишь небольшую часть этой информации, и только для своей учетной записи.
И так работа программы chpass для суперюзера:

#Changing user database information for test.
Login: test
Password: *
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class:
Home directory: /home/test
Shell: /usr/local/bin/tcsh
Full Name: Test User
Office Location:
Office Phone:
Home Phone:
Other information:

4. Управление пользователями и группами используя pw

Ну и самое вкусное в конце. pw — это утилита командной строки для создания, удаления, модифицирования и отображения пользователей и групп. Она функционирует как внешний интерфейс к системным файлам пользователей и групп. У pw очень мощный набор параметров командной строки, что делает это программу подходящей для использования в shell скриптах, но новым пользователям она может показаться более сложной, чем другие представленные здесь команды.
Добавим юзера test с помощью утилиты pw:

# pw useradd test -s /bin/tcsh -c «Test user» -m -b /home -e 03-07-2011 -p 02-07-2011

Пояснение использованных ключей:
-s – указывает какой терминал будет использоваться, поле shell
– комментарии к созданному пользователю, поле gecos
-e – время жизни аккуанта, поле expire. Формат поля аналогичен опции ‘-p’
-p – время жизни пароля, поле change. Формат задания даты или времени таков:
dd-mm-yy[yy], где dd – день, mm – месяц, yy[yy] – год. Или используется следующий
формат: +0mhdwoy, где m – минуты, h – часы, d – дни, w – недели, o – месяц, y — год
-m – заставляет создать домашний каталог пользователя и скопировать в него стандартные файлы
и каталога /usr/share/skel
-b – базовая директория в которой будет находится домашний каталог пользователя, поле home_dir
-L – задаёт класс для пользователя из файла login.conf, поле class

Что бы создать группу noname и переместить в нее пользователя test используем следующую комбинацию:

# pw groupadd noname -M test

Что бы добавить пользователя test в уже существующую группу wheel используем:

# pw usermod test -g wheel

Расписывать все возможности pw можно долго. Основные возможности перед Вамм.

5. Перечень всех известных программ и утилит о управлению учетными записями и группами пользователей

Ну и в завершении перечислю все возможные приложения и утилиты для мониторинга/изменения/добавления пользователей и групп:

pw(8) – создание, удаление, изменение, отображение пользователей и групп;
adduser(8) – интерактивное добавление нового пользователя;
rmuser(8) – удаление пользователя из системы;
id(1) – отображение имени пользователя, UID и групп в которых он состоит с указанием их GID;
finger(1) – отображает информацию о системном пользователе;
users(1) – показывает список текущих пользователей;
who(1) – показывает тех кто находится в системе;
whoami(1) – показывает эффективный id пользователя соответствующий имени;
last(1) – показывает когда пользователь пользовался терминалом;
lastlogin(8) – показывает информацию о последнем использовании терминала;
lastcomm(1) – показывает список последних выполняем команд пользователем;
ac(8) – показывает время, которое пользователь находился в системе;
sa(8) – показывает статистику по пользователям;
passwd(8) – смена пароля пользователю;
chpass(1) – смена пароля пользователя;
chfn(1) – изменение пользовательских данных;
groups(1) – показывает кто в каких группах состоит;
chgrp(1) – изменение группы;
chkgrp(8) – проверка синтаксиса файла групп;

 

По материалам:
http://www.freebsd.org/doc/ru/books/handbook/
http://www.lissyara.su/articles/freebsd/system/user_managment/

Оставить комментарий