Небольшая статья посвященная управлению пользователями и группами в операционной системе 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
Что может эта программа:
- Удаление записи пользователя из crontab (если она присутствует).
- Удаляет задачи at, принадлежащие пользователю.
- Уничтожает все процессы, принадлежащие пользователю.
- Удаляет пользователя из локального файла паролей.
- Удаляет домашний каталог пользователя (если он принадлежит пользователю).
- Удаляет принадлежащую пользователю входящую почту из /var/mail.
- Удаляет все файлы, принадлежащие пользователю, из каталогов с временными файлами, например /tmp.
- Наконец, удаляет имя пользователя из всех групп, которым оно принадлежит, в /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/