Как добавить пользователя в систему?
Ответ на этот вопрос не такой простой, как может показаться. Все зависит от того, какого пользователя вы хотите зарегистрировать.
Заметьте, что, для того, чтобы пустить в свою систему реального юзера, надо не только добавить новую учетную карточку для него. Еще надо создать ему домашнюю директорию и, желательно, положить туда некоторые стартовые файлы (типа config.sys и autoexec.bat в системе DOS). При этом надо правильно установить права нового юзера на эти файлы.
Для того, чтобы не делать эту работу вручную, существует специальная утилита (см. ниже). Но, если вам нужно зарегистрировать псевдо-юзера или "почтового юзера", она не очень подходит. В этом случае лучше воспользоваться более примитивными средствами.
Итак. Программы для регистрации (и не только) нового пользователя.
pwd_mkdb vipw adduser pw useradd Еще что-нибудь pwd_mkdb
Собственно, эта утилита только преобразует файл master.passwd в три остальных файла (см. "Где хранятся бюджеты").
Вы можете любым текстовым редактором добавить строчку в master.passwd, взяв за образец любую из тех строчек, которые там уже есть (желательно, перед этим внимательно прочитать man 5 passwd). Если, после этого запустить команду pwd_mkdb -p /etc/master.passwd
то она сделает соответствующие изменения в spwd.db, pwd.db, passwd.
Не забудьте, что пароль в учетной карточке хранится в зашифрованном виде. Поэтому, при составлении записи, это поле учетной карточки лучше оставить пустым, а потом занести пароль утилитой, которая специально для этого предназначена: passwd <имя юзера>
Конечно, это самый сложный способ, но... Если вы когда-нибудь возьметесь написать свою программу для регистрации, то она должна будет просто сформировать правильную строчку для файла master.passwd, занести ее в этот файл, а потом просто вызвать pwd_mkdb. Кстати, остальные программы, о которых дальше идет речь, именно так и делают.
vipw
Эта программа слегка автоматизирует процесс описанный выше. Она сама запускает текстовый редактор, а, по выходу из редактора, pwd_mkdb.
Облегчение состоит в том, что вам не надо помнить - какой файл вы редактируете и как правильно вызвать pwd_mkdb.
Запись в master.passwd вам все равно придется составить самостоятельно. При этом не забудьте, что Name и userID должны быть уникальными для каждого юзера.
Важное замечание по поводу текстового редактора. Программа vipw сама редактором не является. Она запускает текстовый редактор, который задан переменной окружения EDITOR, а если таковой не найдет, то редактор vi. Причем, обычно, при установке FreeBSD в стартовых файлах для root эта переменная устанавливается, но это тот же vi.
Дело в том, что работать с этим редактором без подготовки достаточно сложно. Поэтому, установите переменную EDITOR, выбрав свой любимый редактор.
adduser
Это самая "продвинутая" программа для добавления нового юзера. Она задает вопросы, касающиеся нового юзера, сама проверяет имя и user ID на уникальность (причем, для user ID она сама предложит подходящее значение), создает домашнюю директорию для юзера и копирует туда заготовки настроечных файлов, и даже может послать приветственное письмо вновь зарегистрированному юзеру. Естественно, она же делает запись в БД учетных карточек.
Однако, если вам нужно зарегистрировать не обычного юзера, то она вам только помешает.
Например, вам нужно зарегистрировать "почтового юзера". Для такого юзера не нужна домашняя директория (а тем более заготовки стартовых файлов) и Shell у этого юзера должен быть нестандартный. Так вот - заставить эту программу не делать домашнюю директорию очень трудно (если вообще возможно).
Поэтому, в этой ситуации, вам придется подчищать за ней все лишнее, что она сделает.