- Как пользоваться командой usermod в Linux?
- Добавить пользователя в группу
- Изменить основную группу пользователя
- Изменение информации о пользователе
- Изменение домашнего каталога пользователя
- Изменение пользовательской оболочки по умолчанию
- Изменение UID пользователя
- Изменение имени пользователя
- Установка даты истечения срока действия пользователя
- Блокировка и разблокировка учетной записи пользователя
- Заключение
- Как переименовать пользователя в терминале? И как изменить домашний каталог пользователя?
- countmein
- Iskatel_znaniy
- 🐧 Как правильно изменить имя пользователя на Linux
- Предупреждение:
- Правильный способ изменить имя пользователя на Linux
Как пользоваться командой usermod в Linux?
usermod — это утилита командной строки, позволяющая изменять данные для входа пользователя.
В этой статье рассказывается, как использовать команду usermod для добавления пользователя в группу, изменения оболочки пользователя, имени входа, домашнего каталога и т.д.
Синтаксис команды usermod имеет следующий вид:
Только root или пользователи с sudo доступом могут вызывать usermod и изменять учетную запись пользователя. В случае успеха команда не выводит никаких результатов.
Добавить пользователя в группу
Наиболее типичный вариант использования usermod — добавление пользователя в группу.
Чтобы добавить существующего пользователя во вторичную группу, используйте параметры -a -G после имени группы и имени пользователя:
Если вы хотите добавить пользователя сразу в несколько групп, укажите группы после -G параметра, разделенные, (запятыми), без пробелов.
Например, чтобы добавить пользователя linuxizeв gamesгруппу, вы должны выполнить следующую команду:
sudo usermod -a -G games linuxize
Всегда используйте опцию -a (добавить) при добавлении пользователя в новую группу. Если вы не укажете этот параметр, пользователь будет удален из групп, не перечисленных после -G параметра.
Если пользователя или группы не существует, команда предупредит вас.
Изменить основную группу пользователя
Чтобы изменить основную группу пользователя, вызовите команду usermod с помощью параметра -g , следующего за именем группы и именем пользователя:
sudo usermod -g GROUP USER
В следующем примере мы меняем основную группу пользователя linuxize на developers:
usermod -g developers linuxize
Каждый пользователь может принадлежать ровно к одной основной группе и нулю или более вторичных групп.
Изменение информации о пользователе
Чтобы изменить информацию GECOS (полное имя пользователя), запустите команду с параметром -c , за которым следует новый комментарий и имя пользователя:
usermod -c "GECOS Comment" USER
Вот пример, показывающий, как добавить дополнительную информацию пользователю linuxize:
usermod -c "Test User" linuxize
Эта информация хранится в файле /etc/passwd.
Изменение домашнего каталога пользователя
В большинстве систем Linux домашние каталоги пользователей названы по имени пользователя и создаются в каталоге /home.
Если по какой-то причине вы хотите изменить домашний каталог пользователя, вызовите usermodкоманду, указав опцию -d , указав абсолютный путь к новому домашнему каталогу и имя пользователя:
По умолчанию команда не перемещает содержимое домашнего каталога пользователя в новый. Чтобы переместить содержимое, используйте опцию -m . Если новый каталог еще не существует, он создается:
usermod -d HOME_DIR -m USER
Вот пример, показывающий, как изменить домашний каталог пользователя www-data на /var/www:
Изменение пользовательской оболочки по умолчанию
Оболочка по умолчанию — это оболочка, которая запускается после входа в систему. По умолчанию в большинстве систем Linux в качестве оболочки по умолчанию используется Bash Shell.
Чтобы изменить оболочку пользователя по умолчанию, запустите команду с параметром -s , следующим за абсолютным путем оболочки и именем пользователя:
В приведенном ниже примере мы меняем оболочку пользователя на Zsh:
sudo usermod -s /usr/bin/zsh linuxize
Вы можете узнать, какие оболочки доступны в вашей системе, просмотрев /etc/shells содержимое файла.
Изменение UID пользователя
UID (идентификатор пользователя) — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.
Чтобы изменить UID пользователя, вызовите команду с -uпараметром, следующим за новым UID и именем пользователя:
В приведенном ниже примере показано, как изменить номер «UID» на «1050»:
sudo usermod -u 1050 linuxize
UID файлов, принадлежащих пользователю и находящихся в домашнем каталоге пользователя, и файл почтового ящика пользователя будет изменен автоматически. Право собственности на все остальные файлы необходимо изменить вручную.
Изменение имени пользователя
Хотя не очень часто, иногда вам может потребоваться изменить имя существующего пользователя. Параметр -l используется для изменения имени пользователя:
В приведенном ниже примере мы переименование пользователя linuxizeк lisaна «1050»:
sudo usermod -l linuxize lisa
При изменении имени пользователя вы также можете изменить домашний каталог пользователя, чтобы отразить новое имя пользователя.
Установка даты истечения срока действия пользователя
Дата истечения срока — это дата, когда учетная запись пользователя будет отключена. Чтобы установить дату истечения срока действия пользователя, используйте опцию -e :
Срок годности должен быть установлен в формате YYYY-MM-DD.
Например, чтобы отключить пользователя linuxize на 2022-02-21, вы бы выполнить следующую команду:
sudo usermod -e "2022-02-21" linuxize
Чтобы отключить истечение срока действия учетной записи, установите пустую дату истечения срока действия:
Используйте chage команду -l , чтобы просмотреть дату истечения срока действия пользователя:
Last password change : Jul 24, 2018 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
Срок годности хранится в /etc/shadow файле.
Блокировка и разблокировка учетной записи пользователя
Опция -L позволяет заблокировать учетную запись пользователя:
Команды вставят восклицательный знак ( ! ) перед зашифрованным паролем. Если поле пароля в /etc/shadow файле содержит восклицательный знак, пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя, по-прежнему разрешены. Если вы хотите заблокировать учетную запись и отключить все методы входа в систему, вам также необходимо установить дату истечения срока действия равной 1.
В следующих примерах показано, как заблокировать пользователя linuxize:
sudo usermod -L linuxize sudo usermod -L -e 1 linuxize
Чтобы разблокировать пользователя, запустите usermodс -Uопцией:
Заключение
Мы показали вам, как использовать команду usermod для установки информации об учетной записи пользователя.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.
Как переименовать пользователя в терминале? И как изменить домашний каталог пользователя?
Набираю команду sudo usermod -l user1 user2 . Говорит что пользователя user2 не существует. Если создаю пользователя user2 и пытаюсь переименовать user1 в user2, говорит что пользователь user2 уже существует.
countmein
New member
Iskatel_znaniy
New member
Спасибо Вам большое! Там еще приходиться процессы убивать пользователя, которого нужно переименовать. Пытался сделать это но не получилось, тем более что система стала виснуть. Пришлось перезагрузиться. При чем во время смены имени пользователя была открыта политика безопасности. Там даже при обновлении настроек политики имя пользователя было то же, но посмотрев параметры пользователя увидел что он переименован. И после того как закрыл и снова открыл политику безопасности у пользователя было новое имя, которое я ему присвоил. Заодно добавлю как сменить каталог пользователя. Сделать это можно командой sudo usermod -d /home/user2 -m user1 где /home/user2 новый созданный домашний каталог пользователя user1 и куда переносятся все файлы из прежнего его каталога. При этом нельзя изменить каталог текущего пользователя так как этому помешают запущенные им процессы, поэтому нужно зайти под другим пользователем и изменить этой командой каталог другого, нужного пользователя.
Внимание.
Настоятельно рекомендуется сделать резервную копию программой timeshift. Хотя и после этого у меня чудеса были, когда восстановился. В общем провел эксперимент на реальной машине. Возникли неудобства и придется к ним привыкнуть. Восстановленный домашний каталог оказался пустым но так же имелся и новосозданный, куда и восстановились все данные со снимка timeshift.
🐧 Как правильно изменить имя пользователя на Linux
В этом кратком руководстве объясняется, как правильно изменить имя пользователя в операционной системе Linux.
Э то руководство также описывает, как изменить имя хоста, группу пользователей, домашний каталог, а также владельца и группу этого каталога на нового пользователя вместе со всеми файлами.
Если вы когда-нибудь искали правильный способ изменить имя пользователя в Linux, не нарушая существующие файлы конфигурации, далее объясняется, как это сделать!
Предупреждение:
Я бы не рекомендовал это в производственной среде.
Всегда лучше просто создать нового пользователя, а не переименовывать существующего.
Потому что переименование имени пользователя вызовет так много проблем, если на домашний каталог старого пользователя ссылаются некоторые другие файлы конфигурации.
Вы можете в конечном итоге изменить файлы конфигурации, используемые таким количеством служб. Также не делайте этого, если ваш каталог $HOME зашифрован!
Поэтому я рекомендую вам создать нового пользователя и перенести данные старого пользователя на нового.
Если это недавно установленная система или просто тестовая система, вы можете изменить имя пользователя, как описано ниже.
Правильный способ изменить имя пользователя на Linux
Изменить имя хоста в Fedora и других дистрибутивах Linux очень просто!
Войдите в систему как пользователь sudo или root.
Я вошел в систему как пользователь root.
Измените текущее имя хоста с помощью команды hostnamectl, как показано ниже:
# hostnamectl set-hostname fedora33
Вы также можете проверить это с помощью команды hostname:
В этом руководстве я использовал одно и то же имя для пользователя и группы.
Вы можете использовать другое имя, если хотите.
А затем изменил имя пользователя с помощью команды usermod, как показано ниже:
# usermod -d /home/itisgood -m -g itisgood -l itisgood vagrant
Давайте разберем приведенную выше команду и посмотрим, что делает каждая опция.
- usermod: команда для изменения учетной записи пользователя в Unix-подобных системах.
- -d /home/itisgood: создать новый каталог $HOME для пользователя.
- -m: переместить содержимое каталога $HOME старого пользователя в новое место.
- -g itisgood: добавить нового пользователя в группу под названием «itisgood».
- -l itisgood vagrant: изменить имя пользователя с «vagrant» на «itisgood». т.е. “vagrant” – это старое имя пользователя, а “itisgood” – это новый пользователь.
Вышеупомянутая команда изменяет имя пользователя, группу пользователей, каталог $HOME, владельца и группу этого каталога на нового пользователя, а также все файлы и каталоги пользователя.
Наконец, назначьте привилегии sudo новому пользователю с помощью команды:
# usermod -aG wheel itisgood
Если вы используете системы на основе Debian, такие как Ubuntu, вы можете предоставить пользователю разрешения sudo с помощью этой команды:
$ sudo usermod -aG sudo itisgood
Убедитесь, что имя хоста, имя пользователя и каталоги $HOME изменены!