Назад | Перейти на главную страницу

Как я могу переименовать пользователя unix?

У меня есть пользователь с именем hedgehog и я хочу, чтобы его назвали squirrel, но я не хочу менять его числовой идентификатор пользователя.
Как я могу этого добиться?

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

Чтобы изменить только имя пользователя:

usermod --login new_username old_username

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

usermod --login new_username --move-home --home path_to_the_new_home_dir old_username

Вы также можете изменить имя группы, связанной с пользователем:

groupmod --new-name new_username old_username

НОТА: не пытайтесь это сделать, если ваш каталог зашифрован! Если это ваш случай, вы можете сначала проверить: https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder

Самый простой способ сделать это:

  1. Создайте новую временную учетную запись с правами sudo:

    sudo adduser temp
    sudo adduser temp sudo
    
  2. Выйдите из своей текущей учетной записи и снова войдите с временной учетной записью.

  3. Переименуйте свое имя пользователя и каталог:

    sudo usermod -l new-username -m -d /home/new-username old-username
    
  4. Переименуйте группу по умолчанию для вашего имени пользователя:

    sudo groupmod -n new-username old-username
    
  5. Выйдите из временной учетной записи и войдите в свою учетную запись с новым именем пользователя.

  6. Удалить временную учетную запись:

    sudo userdel -r temp
    

В противном случае вы просто (1) создаете нового пользователя и (2) rsync из домашней папки старого пользователя в новую, а затем (3) chown Это.

Обычно вы можете переименовать пользователя, изменив его имя пользователя в /etc/passwd/etc/shadow, если применимо) файлы. В большинстве систем unix vipw команда используется для редактирования этих файлов (и во многих системах включает некоторые меры предосторожности, чтобы вы не испортили вещи слишком сильно).
См. Справочные страницы для passwd(5), shadow(5), и vipw(8) Чтобы получить больше информации.

Обратите внимание, что приведенный выше метод не переименовывает другие объекты, которые могут иметь исходное имя пользователя (главным примером являются домашние каталоги, а также личные группы для каждого пользователя (в системах, которые их используют)). Вы можете также очистить их для обеспечения согласованности, изменив соответствующие поля в файле passwd и переименовав каталоги.


Некоторые операционные системы предоставляют способ переименования пользователей в зависимости от системы. Например, многие системы Linux включают usermod(8) команда, а в AIX вы можете изменить имена учетных записей, используя СМИТ (или smitty в терминале).
Эти команды часто обрабатывают такие элементы очистки, как переименование домашних каталогов, если вы их попросите.