Файлы конфигурации представляют собой скрипты, автоматически выполняемые оболочкой при запуске. В случае если оболочка bash запускается программой login (то есть после регистрации пользователя в системе), то при ее запуске выполняются следующие командные файлы: /etc/profile (настройки, общие для всех пользователей системы); ~/.bash_profile, ~/.bash_login, ~/.profile (установка переменных среды и другие настройки для данного пользователя). Образцы файлов конфигурации находятся в каталоге /etc/skel. Указанные файлы используются только оболочкой bash Linux, в других оболочках файлы конфигурации называются по-другому.
Оболочка позволяет определять значение переменных, которые в последствии могут быть использованы при вводе команд или в коммандных файлах. Для присвоения переменной var1 значения «value» следует подать команду
var1=value
Ряд переменных, устанавливаемых программой login при регистрации пользователя и оболочкой при исполнении файлов конфигурации необходимы для работы системы и прикладных программ. Некоторые из этих переменных приведены в таблице
Имя переменной | Описание |
PATH | Список каталогов, в которых проводится поиск запускаемых программных файлов, разделенных символом “:” |
HOME | Домашний каталог |
Файл почтового ящика пользователя | |
LOGNAME | Имя пользователя |
SHELL | Название оболочки |
PS1 | Формат приглашения |
LOGNAME | Имя пользователя, работающего с системой |
По умолчанию приглашение заканчивается символом # для суперпользователя и $ для остальных пользователей.
При задании параметров команд оболочки можно использовать переменные, для этого перед их именем нужно поставить знак $, например команда
ls $HOME
|
выводит список файлов в домашнем каталоге пользователя.
Более подробно использование переменных рассматривается в работе 3.
Регистрация пользователей
Для регистрации нового пользователя необходимо войти в систему в качестве суперпользователя и выполнить следующие операции:
- добавить учетную запись в файлы / etc/passwd и / etc/shadow
Для редактирования файлов рекомендуется использовать команду vi. Вместо пароля в файле /etc/shadow указывается знак «*»
- задать пароль пользователя
Для изменения пароля пользователя username используется команда
passwd [username]
После запуска команды необходимо дважды ввести пароль. При вводе пароль не отображается на экране. Если пароль является недостаточно надежным (слишком короткий, основан на известном слове и т. п.) программа выводит предупрежджение, но замена пароля все равно проводится. Если введенный первый и второй раз пароли не совпадают, ввод нового пароля нужно повторить.
Если имя не указано, то проводится замена пароля для пользователя, выполнившего команду. Рядовой пользователь имеет право заменить пароль только для себя, суперпользователь – для любого пользователей.
- создать домашний каталог и назначить пользователя владельцем этого каталога
Как правило доступ к домашнему каталогу разрешен только его владельцу, то есть режим доступа 700.
- добавить нового пользователя в списки членов групп в файле /etc/group
- создать файлы конфигурации, или скопировать их из каталога /etc/skel и отредактировать
Удаление пользователей
Для удаления пользователя из системы необходимо удалить его учетные записи из файлов /etc/passwd, /etc/shadow и /etc/group и удалить его домашний каталог.
|
При администрировании реальной системы предварительно следует убедиться, что в системе нет запущенных пользователем выполняющихся процессов и созданных им заданий на запуск программ, а также удалить все файлы, владельцем которых является пользователь.
Сценарии useradd и userdel
Утилиты useradd и userdel это внешние команды, автоматизирующие создание и удаление пользователей:
useradd [-u UID] [-g GID] [-G group1, group2, …] [-d home] [-s shell] [-m] name
Здесь UID – идентификатор, назначаемый пользователю; GID – значение поля GID в /etc/passwd; после ключа –G указывается список групп, членом которых является пользователь; home – домашний каталог пользователя, -s – интерпретатор команд (оболочка), загружаемая для пользователя, ключ –m позволяет создать домашний каталог, если он не существует; name – имя пользователя. После использования useradd необходимо задать пароль пользователя с помощью команды passwd.
Команда
userdel [r] name
удаляет учетную запись пользователя, если указан ключ –r удаляется также его домашний каталог.