Создание, изменение и удаление строк в файлах паролей и групп зависит от версии операционной системы, которой Вы пользуетесь. Обычно файлы паролей редактируются непосредственно из командной строки, либо используются утилиты с графическим интерфейсом. Эти утилиты позволяют очень легко и удобно редактировать учетные записи пользователей.
Основные команды для работы с учетными записями в Linux - useradd, userdel, и usermod, а также средство редактирования файлов паролей vipw. Интерфейс команд следующий:
· username - регистрационное имя пользователя. Это единственный обязательный параметр во всех командах.
· uid comment - это дополнительный комментарий о пользователе с указанным именем.
· dir - указывает на домашний каталог пользователя.
· expire - указывает точную дату, до которой действует регистрационная запись.
· inactive - указывает непрерывное число дней без регистрации в системе до того, как данная запись будет блокирована.
· gid - определяет идентификатор или имя группы, к которой относится пользователь.
· new_username - является заменой прежнего имени регистрационной записи.
· shell - определяет оболочку интерпретатора команд для данного пользователя.
· skel_dir - содержит файлы, которые должны быть скопированы в новый домашний каталог пользователя.
· uid - является уникальным идентификатором пользователя, связанным с этим именем.
· -m - указывает на необходимость создания нового домашнего каталога (useradd) или переноса текущего в новое место (usermod).
· -o - позволяет повторяться одному и тому же идентификатору пользователя.
· -g - выбирает главную группу для регистрационного имени.
· -G - выбирает дополнительные группы.
· -r - сообщает, что домашний каталог пользователя будет перемещен. Если домашний каталог для регистрационной записи устарел, существующие файлы будут перенесены в новый каталог.
Чтобы переместить каталог пользователя, выполните:
cd /old_dir; tar -cf - . | (cd /new_dir; tar -xpf -)
Сравните результаты, а затем удалите old_dir. При переносе особое внимание следует уделить скрытым файлам запуска, или дот-файлам (имена начинаются с точки). Вот наиболее важные из них:
· .login - файл, исполняемый после регистрации в оболочках csh и tcsh.
· .cshrc - файл, исполняемый после запуска новой копии оболочки csh.
· .tcshrc - то же самое для оболочки tcsh.
· .profile - файл, исполняемый после регистрации в оболочках sh или ksh.
· .kshrc - файл, исполняемый после запуска новой копии оболочки ksh.
· .bashrc - файл, исполняемый после запуска новой копии оболочки bash.
· .history - содержит список последних команд, выполненных в оболочке.
· .rhosts - списки удаленных машин/пользователей, допускаемых к регистрации в данной системе. Rlogin, rexec, rsh/remsh используют этот файл, чтобы разрешить регистрацию, доступ к фалам и запуск команд без ввода паролей.
· .netrc - используется при автоматической регистрации в FTP.
· .forward - позволяет перенаправлять почту на другие адреса, в файлы или в программы обработки.
· .mailrc - стартовый файл для почтового агента, позволяющий установить опции или почтовые псевдонимы.
· .exrc - файл с опциями запуска редакторов ex или vi.
· .xinitrc - файл запуска для системы X Window.
При удалении регистрационного имени из файла паролей Вы должны также удалить все файлы, принадлежащие этому пользователю. Сделать это можно с помощью команды
find / -user username
Чтобы не ошибиться, Вы можете упаковать эти файлы, прежде чем удалять их. Чтобы удалить их сразу во время поиска, выполните:
find / -user username -exec rm {} \;
Команда смены пароля passwd
Эта команда используется для изменения паролей пользователей. Формат ее вызова:
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
Значение опций данной команды:
· -k - используется для обновления только тех паролей, срок действия которых истек.
· -l - блокирует указанного пользователя (доступна только администратору).
Блокировка осуществляется добавлением к паролю префикса !.
· stdin - принимать новый пароль из стандартного ввода.
· -u - разблокирование пользователя и удаление префикса ! (доступна только администратору).
· -d - отмена пароля для пользователя (доступна только администратору). Позволяет пользователю войти в систему без пароля и сменить его самостоятельно.
· -n - устанавливает минимальный срок в днях до смены пароля (доступна только администратору).
· -x - устанавливает максимальный срок в днях до смены пароля (доступна только администратору).
· -w - устанавливает срок в днях, когда пользователь начнет получать сообщения о необходимости смены пароля(доступна только администратору).
· -i - устанавливает срок в днях до момента, когда старый пароль перестанет быть активным и регистрационная запись блокируется (доступна только администратору).
· -S - выводит краткую информацию о состоянии пароля (о сроке его действия). Доступна только администратору.