Команды работы с учётными записями пользователей

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

Основные команды для работы с учетными записями в Linux - useradd, userdel, и usermod, а также средство редактирования файлов паролей vipw. Интерфейс команд следующий:

useradd [-c uid comment] [-d dir] [-e expire] [-f inactive] [-g gid]  
[-m [ -k skel_dir]] [-s shell] [-u uid [-o]] username    
userdel [-r] username    
usermod [-c uid comment] [-d dir [-m]] [-e expire] [-f inactive]  
[-g gid] [-G gid[,gid]] [-l new username] [-s shell] [-u uid [-o]] username  

Основные параметры имеют следующие значения:

  • 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 {} \;

Алексей Отвагин

free-templates.ru