Утилита usermod#

Утилита usermod служит для изменения учетной записи пользователя. usermod изменяет файлы системной учетной записи, чтобы отразить изменения, указанные в командной строке.

Синтаксис usermod:

usermod <options> <username>

Где:

  • <options> - опции;

  • <username> – имя пользователя.

Часто используемые опции утилиты представлены в таблице ниже:

Опция

Описание

-a, --append

Добавить пользователя в дополнительные группы. Используйте только с опцией -G

-c <comment>, --comment <comment>

Обновить поле комментария <comment> пользователя в /etc/passwd. Альтернативный способ изменения – утилита chfn

-d <path-to-new_home>, --home <path-to-new_home>

Изменить домашний каталог пользователя. В <path-to-new_home> указывается путь к новому домашнему каталогу. Если опция используется вместе с опцией -m, содержимое текущего домашнего каталога будет перемещено в новый домашний каталог, который создается, если он еще не существует. Если текущий домашний каталог не существует, новый домашний каталог не будет создан

-e <expire-date>, --expiredate <expire-date>

Указать дату <expire-date>, начиная с которой учетная запись пользователя будет отключена. Дата указывается в формате ГГГГ-ММ-ДД

-f <number_days>, --inactive <number_days>

Указать количество дней <number_days> после истечения максимального срока действия пароля, в течение которых пользователь все еще может войти в систему, немедленно заменив пароль

-G <groups>, --groups <groups>

Указать дополнительную группу или список групп <groups>, в которые нужно должен входить пользователь. При указании списка групп, каждая группа отделяется от следующей запятой без пробелов. Группы должны существовать. Если пользователь в данный момент является участником группы, которой нет в списке, пользователь будет удален из группы. Это поведение можно изменить с помощью опции -a, которая добавляет пользователя в текущий список дополнительных групп

-l <new_username>, --login <new_username>

Изменить имя пользователя. Имя пользователя будет изменено с <username> на <new_username>. Это единственное изменение, которое производится при применении опции. Например, домашний каталог пользователя или почтовый каталог, следует переименовать вручную, чтобы отразить новое имя входа

-m, --move-home

Переместить содержимое домашнего каталога пользователя в новый каталог. Если текущий домашний каталог не существует, новый домашний каталог не будет создан. Эта опция действительна только в сочетании с опцией -d/--home. usermod, вызываемый с этой опцией, попытается изменить владельца файлов и скопировать режимы, ACL и расширенные атрибуты, но может потребоваться произвести изменения вручную

-s <path-to-shell>, --shell <path-to-shell>

Изменить оболочку входа пользователя. В <path-to-shell> указывается путь к новой оболочке. Пустая строка, вместо указания <path-to-shell>, заполняет поле в /etc/passwd и регистрирует пользователя в оболочке системы по умолчанию

-u <uid>, --uid <uid>

Изменить значение идентификатора пользователя. Новое значение идентификатора <uid> должно быть уникальным, если не используется параметр -o. Значение должно быть неотрицательным. Для почтового ящика пользователя и любых файлов, принадлежащих пользователю и расположенных в домашнем каталоге пользователя, идентификатор пользователя файла будет изменен автоматически. Права на файлы за пределами домашнего каталога пользователя должны быть установлены вручную. Проверки нового значения идентификатора в отношении UID_MIN, UID_MAX, SYS_UID_MIN или SYS_UID_MAX из /etc/login.defs выполняться не будут

Примеры использования#

Примеры использования usermod:

  • Чтобы изменить имя пользователя, воспользуйтесь командой:

    sudo usermod --login <new_username> <username>
    
  • Для изменения идентификатора пользователя используйте команду:

    sudo usermod --uid <uid> <username>
    
  • Чтобы изменить оболочку пользователя, воспользуйтесь командой:

    sudo usermod --shell <path-to-shell> <username>
    
  • Для добавления пользователя в дополнительные группы используйте команду:

    sudo usermod --append --groups <group1>,<group2>,... <username>
    

    Внимание

    Дополнительные группы при вводе команды указываются через запятую без пробелов.

  • Чтобы изменить домашний каталог пользователя, воспользуйтесь командой:

    sudo usermod --move-home --home <path-to-new_home> <username>