Что-бы
упростить процесс администрирования системы и сделать его более гибким,
FreeBSD поддерживает полезную возможность, использование так называемых
классов пользователей ( login class ). При создании учетной записи
пользователя, по-умолчанию, используется класс «default», берется он, из
соответствующей секции файла /etc/login.conf. Кроме класса «drfault»,
файл содержит еще несколько предопределенных классов, например класс
«russian» с соответствующими языковыми настройками, класс «root»,
«standart», «xuser», «news», «dialer», «siit», часть из них
закомментирована, но при необходимости можете раскомментировать и
использовать. В секции класса прописаны начальные системные настройки
для пользователя. Приведу пример секции «default» из файла
/etc/login.conf, в системе FreeBSD 7.1.
default:\
:passwd_format=md5:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin ~/bin:\
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
:stacksize=unlimited:\
:memorylocked=unlimited:\
:memoryuse=unlimited:\
:filesize=unlimited:\
:coredumpsize=unlimited:\
:openfiles=unlimited:\
:maxproc=unlimited:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:priority=0:\
:[email protected]:\
:umask=022:
Вот описание некоторых опций класса пользователя:
passwd_format=md5:
Как можно догадаться по названию, это алгоритм шифрования паролей, вместо md5, можно использовать, например DES
copyright=/etc/COPYRIGHT:
Файл копирайта, можно назначить какой угодно
welcome=/etc/motd:
Сообщение выводимое при логине пользователя в системе
setenv= … ….
Устанавливает некоторые переменные окружения оболочки
path=.. ..
Пути к директориям с исполняемыми файлами, данная опция может быть переопределена из других файлов конфигурации
nologin=/var/run/nologin:
Опция, указывающая на местоположение файла nologin, запрещающего пользователю вход в систему
администратор может использовать этот файл, для временного запрета входа пользователей в систему
priority=0:
Начальный приоритет процессов по-умолчанию
umask=022:
Задает так называемую маску прав доступа к файлам и директориям, в данном случае, если пользователь создаст файл,
права доступа будут выставлены как 644, при создании директории 755
Кроме перечисленного в классе можно задавать различные лимиты на
использование пользователем системных ресурсов, процессорного времени,
памяти, файлов и т.д.. Пройдитесь по файлу, он довольно прост для
восприятия и интуитивно понятен, думаю вы без труда поймете как это
работает. Список всех возможных опций и значений файла login.conf, можно
посмотреть на страницах руководства man login.conf. Как было упомянуто выше, вы можете легко создать свой класс
или использовать один из существующих, просто раскомментировав
соответствующую секцию файла.
Имейте в виду, что после редактирования файла /etc/login.conf, вам
необходимо пересобрать базу данных логинов /etc/login.conf.db, делается
это так:
vds-admin /# cap_mkdb /etc/login.conf
В операционной системе FreeBSD, информация из файла /etc/login.conf.db, используется при каждом входе пользователя в систему.
Изменение учетных записей пользователей в операционных системах FreeBSD
После создания учетной записи, может понадобится что-то изменить или
исправить в начальных пользователя. Есть несколько мест, где это можно
делать, например, домашняя директория пользователя содержит файлы, имена
которых начинаются со знака «.». В этих файлах как правило содержаться
настройки пользовательской оболочки, переменные среды, настройки
приложений. Основные настройки учетной записи можно изменить в файле
/etc/passwd. Для безопасного редактирования используйте специальный
редактор файла паролей vipw.
vds-admin #/ vipw
Конечно можно использовать любой редактор для изменения файла
паролей, но у vipw есть некоторое преимущество, при редактировании с
помощью vipw, файл паролей блокируется, что-бы избежать изменения
содержимого, по какой-либо другой причине. Файл паролей может
редактировать только пользователь root. Типичная запись из файла
паролей:
drupal:*:1007:1007:drupal cms:/home/drupal:/bin/csh
В данном примере показана запись о пользователе drupal, идентификатор
пользователя и группы: 1007, полное имя: drupal cms, домашняя
директория:/home/drupal, оболочка: /bin/csh. В общем-то данный файл не
несет никакой критической информации, как видите во втором поле строки,
вместо пароля, стоит символ «*», это говорит о том, что сам пароль, в
зашифрованном виде, храниться в файле master.passwd.
Будьте осторожны, если надумаете менять идентификаторы пользователя
или группы. В результате установки не правильных значений, пользователь
может получить доступ туда, куда ему ходить не следует. )
Удаление учетных записей пользователей в операционных системах FreeBSD, программа rmuser
Удалить учетную запись пользователя, можно с помощью команды rmuser.
Запущенная без параметров, команда rmuser, запросит имя пользователя,
которого вы желаете удалить, покажет соответствующую запись из файла
паролей и попросит подтверждение удаления, при положительном ответе,
будет задан вопрос по поводу удаления домашней директории пользователя.
Обычный вывод команды rmuser можно увидеть ниже.
vds-admin /# rmuser
Please enter one or more usernames: newuser
Вводим имя учетной записи
Matching password entry:
newuser:*:1011:1011::0:0:User &:/home/newuser:/bin/csh
Строка из /etc/passwd
Is this the entry you wish to remove? y
Удалить учетную запись
Remove user’s home directory (/home/newuser)? y
Удалить домашнюю директорию
Removing user (newuser): files(1) mailspool home passwd.
Что-бы на все вопросы, программа получала утвердительный ответ, можно
использовать ее с опцией -y. А что-бы увидеть подробный отчет о
проделанной работе, используйте ключ -v. Так-же, при необходимости,
можно воспользоваться возможностью команды rmuser, брать список
пользователей из текстового файла, в нем просто перечисляются все
учетные записи для удаления, по одной на строку, а команде rmuser
передается опция -f и имя файла.
vds-admin /root# rmuser -yv newuser
Removing crontab for (newuser):.
Removing at(1) jobs owned by (newuser): 0 removed.
Removing IPC mechanisms.
Terminating all processes owned by (newuser): -KILL signal sent to 0 processes.
Removing files owned by (newuser) in /tmp: 0 removed.
Removing files owned by (newuser) in /var/tmp: 0 removed.
Removing mail spool(s) for (newuser): /var/mail/newuser.
Removing user (newuser) (including home directory) from the system: Done.
Как видите, rmuser, подчищает все довольно капитально, удаляя записи
из таблицы планировщика crontab, убивает процессы запущенные данным
пользователем, чистит временные папки и т.д.
Управление паролями учетных записей в операционных системах FreeBSD, программа passwd
Для работы с паролями учетных записей предназначена специальная
утилита, passwd. Кроме того можно работать с паролями и с помощью
утилиты vipw, описанной выше. Обычный пользователь может управлять
только своим паролем, пользователь root, может управлять любыми паролями
в системе.
Смена пароля пользователем:
vds-admin /home/user# passwd
Запускаем passwd
Changing local password for user
Old Password:
Вводим старый пароль
New Password:
Вводим новый пароль
Retype New Password:
Повторно вводим новый пароль
Смена пользователем root, пароля на учетной записи обычного пользователя:
vds-admin /root# passwd user
Запускаем passwd имя учетной записи в качестве параметра
Changing local password for user
New Password:
Вводим новый пароль
Retype New Password:
Повторно вводим новый пароль
При запуске пользователем root, утилиты passwd без параметров, ему будет предложено сменить свой пароль
Не забывайте, пароль должен быть сложным ! Это значит, чем из
большего числа символов состоит пароль, тем лучше, использовать в
паролях, желательно, как буквы в верхнем и нижнем регистрах, так и цифры
и не буквенно-цифровые символы, такие как &^@)*_, и т.д. Конечно
для обычных пользователей это не столь критично как для пользователя
root, поэтому желательно создавать для них такие пароли, которые они в
состоянии запомнить, не записывая на бумажку и не приклеивая ее на морду
монитора..:)
Создание групп в операционной системе FreeBSD, файл /etc/group
При создании учетной записи пользователя, он добавляется в одну или
более групп. По-умолчанию, для каждой учетной записи создается отдельная
группа, с тем-же именем, что и учетная запись, в нее и добавляется,
только что созданный, пользователь. Права группы, зависят от того как
выставлены права для группы, на конкретных объектах ( файлы, директории,
и т.д. ). Добавление пользователя к определенной группе, дает ему
дополнительные права на объекты, на которые есть права у данной группы.
Записи о группах и пользователях в них входящих, хранятся в файле /etc/group, формат его весьма прост:
# $FreeBSD: src/etc/group,v 1.35 2007/06/11 18:36:39 ceri Exp $
#
wheel:*:0:root
daemon:*:1:
kmem:*:2:
sys:*:3:
tty:*:4:
operator:*:5:root
mail:*:6:
bin:*:7:
sshd:*:22:
Это укороченный вариант, но для ознакомления думаю достаточно. В
первом поле, имя группы, далее пароль, вместо него как правило стоит
символ «*», далее идентификатор группы ( GroupID ), и в последнем поле,
через запятую, перечисляются пользователи, входящие в данную группу.
Группы с идентификаторами меньше 100, это административные группы,
обычные группы начинаются с ID 1001. Существуют так-же специальные
группы, предназначенные для отображения групповых прав пользователей,
через сеть, такие как nogroup ( 65533 ) и nobody ( 65534 ).
При создании учетной записи пользователя, будет создана
соответствующая группа, он имеет полный доступ к своим файлам и
директориям, если необходимо разрешить доступ еще кому-либо, например
для совместной работы над каким-то проектом, можно включить второго
пользователя в группу, владеющую данными файлами и директориями.