linux изменить имя пользователя

Nov 5, 2015 18:55 · 149 words · 1 minute read ubuntu

Переименование пользователя в ОС Ubuntu довольно простая задача — особенно, если для этого использовать стандартные системные утилиты usermod и groupmod . Давайте разберемся как это делается!

Убедимся, что пользователь OLDUSER (тот, которого собираемся переименовать) разлогинен, далее вводим следующую команду:

Примечание. NEWLOGIN, OLDLOGIN — это имя нового и старого пользователей соответственно.

Меняем имя группы пользователя:

Примечание. По умолчанию OLDGROUPNAME совпадает с именем пользователя, которого мы хотим переименовать, а NEWGROUPNAME — это имя группы нового пользователя (NEWLOGIN).

Теперь переименуем домашний каталог пользователя /home/OLDLOGIN в новый каталог /home/NEWLOGIN :

Правим поле GECOS нового пользователя командой:

Формат GECOS выглядит так:

В данном примере последние три значения можно опустить, поэтому используется:

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

На этом все — переименовать пользователя в Ubuntu действительно просто!

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

3 ответа

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

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

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

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

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

Прямой способ сделать это:

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

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

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

Переименуйте имя пользователя по умолчанию:

Выйдите из учетной записи temp и войдите в свою учетную запись с новым именем.

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

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

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

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

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

Мы не ищем легких путей

воскресенье, 2 октября 2011 г.

Как переименовать основного пользователя Ubuntu

Переименовать пользователя в Linux достаточно простая задача. Основная идея заключается в том, что в самой системе используется соответствующий пользователю UID — уникальный идентификатор пользователя. Единственное место, в идеале, где указано текущее имя пользователя — это файл /etc/passwd. Можно конечно заняться и напрямую редактированием файла, но гораздо проще воспользоваться стандартными системными утилитами usermod и groupmod. Единственная проблема заключается в том, что если пользователь основной и через него вы пытаетесь получить права пользователя root в системе, да и вообще если есть хотя бы один запущенный от имени основного пользователя процесс, то вы получите сообщение user_name is corrently logged in.

Поэтому добавим в систему нового пользователя:

Замечание: в случае когда когда требуются права пользователя root, в начале строки указан #, если обычного пользователя %. Для получения прав пользователя root в Ubuntu достаточно добавить sudo перед командой или выполнить:

Необходимо будет ввести пароль пользователя, на запросы о полном имени и прочую информацию GECOS можно не заполнять.

Далее необходимо дать новому пользователю дополнительные разрешения:

В открывшимся окне текстового редактора ввести строку:

Ctrl-X, затем исправить имя файла на /etc/sudoers и подтвердить перезапись файла Y.

Завершаем сеан текущего пользователя, лучше всего перезагрузиться. Послк, в GDM в окне ввода имени пользователя и пароля нажать Alt-Ctrl-F1. В появившейся текстовой консоли вводим имя пользователя testuser и пароль. Затем для того, чтобы получить права пользователя root:

и вводим пароль пользователя testuser.

Так как в Ubuntu по умолчанию не установлены пакеты с поддержкой кириллицы в консоли, то необходимо:

Для того, чтобы можно было прочитать вывод после ввода команд и сообщения о ошибках. Далее вводим:

Поменяем имя пользователя. NEWLOGIN, OLDLOGIN — новое и старое имя основного пользователя, соответственно.

Изменим имя первичной группы пользователя:

#groupmod -n NEWGROUPNAME OLDGROUPNAME

Имя OLDGROUPNAME по умолчанию совпадает с именем пользователя, NEWGROUPNAME тоже что и NEWLOGIN

Затем перенесем содержание директории пользователя /home/OLDLOGIN в новую директорию /home/NEWLOGIN:

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

#usermod -c NEWLOGIN. NEWLOGIN

На данный момент GDM использует старые данные GECOS, поэтому переключаться на него по Alt-Ctrl-F8 бесполезно, только ради интереса. Перезапуск X по Alt-Ctrl-Backspace в Ubuntu по умолчанию не доступно, поэтому переключаемся обратно на консоль Alt-Ctrl-F1 и даем команду (хотя конечно можно обойтись и без перезагрузки всей системы и перезапустить соответствующую службу):

Оцените статью
SoftLast
Добавить комментарий