Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №4 (FAQ).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
406.02 Кб
Скачать

4.1.2. Добавление пользователя

Самый простой и интерактивный способ добавить нового пользователя, это использовать команду adduser(8) (нет в NetBSD). Пример использования adduser(8). (Скопировано из OpenBSD FAQ).

# adduser

Use option ``-silent'' if you don't want to see all warnings and questions.

Reading /etc/shells

Reading /etc/login.conf

Check /etc/master.passwd

Check /etc/group

Ok, let's go.

Don't worry about mistakes. I will give you the chance later to correct any input.

Enter username []: testuser

Enter full name []: Test FAQ User

Enter shell csh ksh nologin sh [sh]: ksh

Uid [1002]: Enter

Login group testuser [testuser]: guest

Login group is ``guest''. Invite testuser into other groups: guest no [no]: no

Login class auth-defaults auth-ftp-defaults daemon default staff [default]: <Enter>

Enter password []: <Набираете пароль и нажимаете Enter>

Enter password again []: <Набираете пароль и нажимаете Enter>

Name: testuser

Password: ****

Fullname: Test FAQ User

Uid: 1002

Gid: 31 (guest)

Groups: guest

Login Class: default

HOME: /home/testuser

Shell: /bin/ksh

OK? (y/n) [y]: y

Added user ``testuser''

Copy files from /etc/skel to /home/testuser

Add another user? (y/n) [y]: n

Goodbye!

Значения по умолчанию для adduser(8) можно создать в файле /etc/adduser.conf

# adduser -config_create

Вот пример файла /etc/adduser.conf:

# Конфигурационный файл для утилиты adduser(8).

# ЗАМЕЧАНИЕ: only *some* variables are saved.

# Последнее изменение Fri Mar 30 14:04:05 EST 2004.

defaultLgroup=

defaultclass=

defaultgroups=

passwdtype=yes

homeprefix=/home

defaultshell=/bin/csh

udotdir=/usr/share/skel

msgfile=/etc/adduser.msg

disableflag=

upwexpire=91d # Срок годности паролей истекает через 91 день

Скрипт adduser(8) вначале читает /etc/group, /etc/passwd, /etc/shells и другие конфигурационные файлы на предмет целостности и инициализации значений по умолчанию, а так же получения допустимых значений. Добавляет домашнюю директорию и создает пользователя, а так же заносит его в требуемые группы. Интересующиеся тонкостями могут просмотреть сам скрипт /usr/sbin/adduser.

В OpenBSD и NetBSD в командной строке пользователя можно дабавить при помощи утилиты user(8). Метод достаточно прост и полезен для использования в сценариях. Следует только учитывать, когда заводится пользователь данной командой, то используется УЖЕ шифрованный пароль. Таким образом, для вышеописанного пользователя мы получаем следующую последовательность действий (пример сделан в OpenBSD):

# encrypt -p -b 6

Enter string:

$2a$06$YOdOZM3.4m6MObBXjeZtBOWArqC2.uRJZXUkOghbieIvSWXVJRzlq

# user add -p '$2a$06$YOdOZM3.4m6MObBXjeZtBOWArqC2.uRJZXUkOghbieIvSWXVJRzlq' -u 1002 \

-s /bin/ksh -c "Test FAQ User" -m -g guest testuser

В FreeBSD и DragonFly BSD для этих целей используется утилита pw(8)

4.1.3. Изменение параметров пользовательской учётной записи

BSD системы поддерживают «классический», древнейший способ изменения пользовательской информации — vipw(8).Использование этой утилиты весьма удобно, так как после рабоиы vipw(8) проверяет синтаксис файла и, если администратор не совершил никаких ошибок, обновляет данные в файле /etc/master.passwd, строит из него /etc/passwd и бинарные базы /etc/pwd.db и /etc/spwd.db. (См. Раздел 2.12.1, «Устройство базы паролей».)

Однако, этот способ следует рекомендовать лишь в том случае, если вы понимаете формат файла /etc/master.passwd. Поэтому начинающие и ине только начинающие администраторы используют команду chpass(1).

При запуске chpass(1) запускает редактор vi(1) (см. Раздел 7.3, «Навыки работы в vi(1)») и предлагает изменить следующие настройки учётной записи:

# chpass testuser

Changing user database information for testuser.

Login: testuser

Encrypted password:$2a$06$YOdOZM3.4m6MObBXjeZtBOWArqC2.uRJZXUkOghbieIvSWXVJRzlq

Uid [#]: 1002

Gid [# or name]: 31

Change [month day year]:

Expire [month day year]:

Class:

Home directory: /home/testuser

Shell: /bin/ksh

Full Name: Test FAQ User

Office Location:

Office Phone:

Home Phone:

В случе если команда вызвана непривилегированным поьзователем, она позволяет изменить информацию только в рамках полномочий пользователя:

$ chpass

#Changing user information for paakai.

Shell: /usr/local/bin/bash

Full Name: Paakai Sudoer

Office Location:

Office Phone:

Home Phone:

Other information:

После успешного изменения информации о пользователе, chpass(8) вызывает pwd_mkdb(8) для актуализации изменений в базах данных пользователей (/etc/master.passwd и /etc/passwd).

Другие, команды для изменения информации о пользователях: user mod, usermod, pw usermod.