Изменить пользовательский идентификатор linux

Обновлено: 04.07.2024

Просто нужно было быстро переключить UID и GID для пары пользователей.

Я использую Puppet для управления конфигурациями серверов, и у него есть несколько полезных функций для автоматизации настройки пользователей. К сожалению, когда я изначально настраивал директивы puppet, я упустил из виду настройку UID для каждого пользователя, что означает, что назначенные UID были созданы случайным образом. Поскольку я хочу сохранить идентификаторы UID для всех ящиков, которые я использую, это означает, что необходимо перенести разные идентификаторы пользователей и GID.

ВНИМАНИЕ: возня с UID и GID может быть опасен для вашего рассудка, если все пойдет не так. Использование любого из приведенных ниже сценариев осуществляется исключительно на ваш страх и риск.

Куча команд для изменения UIDS и GIDS

Вот команды, которые нужно запустить от имени пользователя root, чтобы изменить UID и GID для пользователя. Просто измените переменные в угловых скобках, чтобы они соответствовали вашим настройкам:

usermod и groupmod просто меняют UID и GID для соответствующих именованных аналогов. р>

Команда find пересматривает файловую систему из / и изменяет все с uid OLDUID на NEWUID, а также изменяет группу для файлов, принадлежащих OLDGROUP

Последняя команда usermod изменяет группу входа для пользователя

Как отметил Джаред в комментариях, рекомендуется указать -h для команд chgrp и chown, чтобы не переходить по символическим ссылкам. Если что-то, на что ссылается символическая ссылка, все еще принадлежит одному из затронутых пользователей, это все равно будет отсортировано с помощью команд поиска.

Обмен UID пользователей

  1. Изменить UID и GID foo с 1001 на 1012
  2. Изменить UID и GID панели с 1002 на 1011.
  3. Изменить UID и GID foo с 1012 на 1002
  4. Изменить UID и GID панели с 1011 на 1001.

Эти шаги предполагают, что 1012 и 1011 не были выбраны естественным образом.

Вот оно. Пользователь foo теперь имеет UID 1002, и группа foo теперь имеет GID 1002, а user bar имеет UID 1001, и GID группы bar теперь тоже 1001. Фу!


Как безопасно изменить UID или GID в Linux

В этой статье мы расскажем, как изменить UID или GID существующих пользователей или групп, не затрагивая права собственности на файлы, которыми они владеют. Позже мы также объяснили, как переключать GID между двумя группами и как переключать UID между двумя пользователями в системе, не затрагивая права собственности на файлы, принадлежащие им.

Начнем с изменения UID или GID в системе.

Текущий сценарий:

Пользователь shrikant с UID 1001
Групповой sysadmin с GID 2001

Ожидаемый сценарий:

Пользователь shrikant с UID 3001
Групповой sysadmin с GID 4001

Изменить GID и UID просто с помощью команды usermod или groupmod, но вы должны помнить, что после изменения UID или GID вам необходимо изменить владельца всех файлов, принадлежащих им, вручную, поскольку владение файлом известно ядру по GID. и UID, а не по имени пользователя.

Процедура будет –

Измените UID или GID, как показано ниже:

Теперь найдите и измените право собственности на все файлы, принадлежащие этому пользователю или группе, с помощью цикла for

Вот и все. Вы безопасно изменили UID и GID в своей системе, не затрагивая прав собственности на файлы, которыми они владеют!

Как переключить GID двух групп

Текущий сценарий:

Группа sysadmin с GID 1111
Группа oracle с GID 2222

Ожидаемый сценарий:

Группа sysadmin с GID 2222
Группа oracle с GID 1111

В приведенной выше ситуации нам нужно использовать один промежуточный GID, который в настоящее время не используется в вашей системе. Проверьте файл /etc/group и выберите один GID XXXX, которого нет в файле. В нашем примере мы берем 9999 в качестве промежуточного GID.

Теперь процесс прост —

  1. Изменить GID системного администратора на 9999
  2. Найдите и измените группу всех файлов, принадлежащих GID 1111, на sysadmin
  3. Изменить GID оракула на 1111
  4. Найти и изменить группу всех файлов, принадлежащих GID 2222, на oracle
  5. Изменить GID системного администратора на 2222
  6. Найдите и измените группу всех файлов, принадлежащих GID 9999, на sysadmin

Список команд для вышеуказанных шагов –

Как поменять UID двух пользователей

Это можно сделать так же, как мы переключили GID выше, используя промежуточный UID.

В моей системе есть только один пользователь. Как я могу изменить его идентификатор пользователя с 1000 по умолчанию?

Если есть дополнительные шаги, которые потребуются, чтобы не нарушить процесс входа в систему при обычной настольной установке, их следует включить в ответ.

Если вы обычно обмениваетесь данными с другими системами через NFS или просто используете какой-либо метод копирования, сохраняющий UID, будет полезно использовать один и тот же UID для одного и того же имени пользователя в разных системах.

Жоао все правильно понял. В частности, я надеюсь сопоставить UID с пользователями в Mac OS X, чтобы общая файловая система содержала предполагаемые разрешения в разных операционных системах.

Текущая версия Nethack (3.6.0) сохраняет игры, включая текущий uid в имени файла. Если вы хотите синхронизировать сохраненную игру между машинами, вам нужно сопоставить uid. (использование символической ссылки нецелесообразно)

Для всех серьезных намерений и целей это не поддерживается, и все ответы здесь являются хакерскими и рискованными в использовании.

8 ответов 8

Вы можете изменить его в /etc/passwd , /etc/group и /etc/shadow или использовать одну из предпочтительных возможностей выше. Но, самое главное, вы должны изменить владельца всех файлов, принадлежащих пользователю.

Например, если старый идентификатор пользователя равен 1000, а новый — 5000:

И то же самое для идентификатора группы (если вы также измените его).

Это действительно важный момент. Многие вещи сломаются, если вы будете следовать методам, данным в других ответах, не делая этого.

Я только что узнал, что лучше использовать sudo find / -xdev -uid 1000 -exec chown 5000 '<>' \+ , иначе можно было бы включить смонтированные данные (в /mnt , что, возможно, нежелательно) и файлы, которые вам лучше не возиться с /proc и /dev . Смотрите этот пост

Это не очень хорошая идея. Учитывая, что /home находится в другой файловой системе, вы даже не измените владельца своих собственных файлов.

В этом ответе вы должны изменить разрешения группы и uid перед редактированием файлов в /etc, верно?

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

Но вам не нужно создавать новую учетную запись пользователя, повышать ее до администратора, выходить из системы, входить в новую учетную запись администратора, изменять UID основной учетной записи, выходить из системы, входить в свою основную учетную запись, а затем удалять новый пользователь-администратор просто измените свой UID. ;)

Вы можете загрузиться в режиме восстановления (эта опция появляется при запуске компьютера или удерживайте клавишу Shift сразу после завершения сообщений BIOS; используйте ESC на компьютерах Dell с OEM-Ubuntu). Это зарегистрирует вас в корневом сеансе. Выполнив вход в систему под root, а не под своей обычной учетной записью пользователя, вы сможете изменить свой UID.

Поскольку режим восстановления работает только в интерфейсе командной строки, после входа в корневой сеанс вам необходимо:

Нужно изменить имя пользователя и домашний каталог в Linux? Вот как можно изменить имена пользователей, отображаемые имена и имена каталогов.

Linux — это многопользовательская операционная система. И с этой функцией приходит ответственность за управление каждым пользователем в системе. Администратор должен убедиться, что у каждого пользователя есть надлежащие разрешения, разные идентификаторы пользователей, уникальные имена пользователей и т. д.

Но что, если вы хотите изменить информацию, связанную с конкретным пользователем? Позволяет ли Linux кому-либо легко изменять такие важные детали? Команда usermod — это ответ на все эти вопросы.

В этой статье показано, как изменить имя пользователя в Linux, а также приведено подробное руководство по изменению идентификатора пользователя и домашнего каталога пользователя.

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

В Linux файл /etc/passwd хранит информацию, связанную с пользователями. Хотя вы можете изменить данные пользователя напрямую, отредактировав файл passwd, это не рекомендуется, поскольку это может привести к различным проблемам в вашей системе.

Вы можете использовать утилиту usermod, предоставляемую Linux, для выполнения операций, связанных с управлением пользователями и модерацией. Команда usermod даже позволяет изменить имя пользователя в Linux.

Обратите внимание, что для успешного выполнения этих команд у вас должен быть доступ к учетной записи суперпользователя. Если у вас нет прав доступа, вы можете попросить своего системного администратора добавить вас в список sudoers.

Чтобы изменить имя пользователя, используйте флаг -l с usermod:

Например, чтобы изменить имя пользователя "makeuseof" на "muo":

Переименовать домашнюю папку

Изменение имени пользователя в Linux с помощью вышеупомянутой команды не изменяет домашний каталог этого конкретного пользователя. Используйте флаг -d, если вы хотите, чтобы домашняя папка отражала изменения, внесенные в имя пользователя.

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

Чтобы проверить, работает ли вышеупомянутая команда, перейдите в домашний каталог и найдите папку с именем muo.

Назначить пользователю новый идентификатор пользователя

Помимо изменения имени пользователя, команда usermod также позволяет назначить новый уникальный UID любому пользователю. UID — это неотрицательное целое число, начинающееся с нуля. UID в диапазоне от 0 до 99 зарезервированы для системных пользователей.

Чтобы изменить идентификатор пользователя в Linux с помощью usermod:

<р>.где uid — это идентификатор пользователя, который вы хотите присвоить пользователю с именем пользователя.

При изменении UID система добавит новый UID в качестве владельца всех файлов и папок, находящихся в каталоге /home этого конкретного пользователя.

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

Изменить отображаемое имя пользователя

Имя пользователя и идентификатор пользователя важны для идентификации конкретного пользователя в системе. Помимо этих двух, Linux также хранит дополнительную «информацию об отпечатках пальцев», относящуюся к пользователям, в файле /etc/passwd. Эта информация включает отображаемое имя, служебный и рабочий телефоны пользователя.

Хотя у пользователей есть полный выбор, предоставлять ли им такую ​​информацию, Linux позволяет вам изменить или удалить эти данные в любое время.

Вы можете изменить отображаемое имя своей учетной записи с помощью команды usermod или chfn.

Использование команды usermod

Укажите флаг -c вместе с командой usermod, чтобы изменить отображаемое имя:

Например, если вы хотите изменить отображаемое имя пользователя muo:

Использование команды chfn

Изменить отображаемое имя с помощью команды chfn очень просто:

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

Управление информацией о пользователях в Linux

Поскольку Linux предлагает так много возможностей, связанных с управлением пользователями, необходимость в специальном пользователе с повышенными привилегиями очевидна. Вот почему в каждой системе Linux есть пользователь root или суперпользователь, который контролирует и отслеживает действия других пользователей в системе.

Чтобы добавить дополнительный уровень безопасности и обеспечить изоляцию каждого пользователя от остальных, Linux предлагает добавить пароль к вашей учетной записи. Если вы уже установили слабый пароль, не задумываясь, попробуйте изменить его, чтобы повысить безопасность своей учетной записи.

Для изменения имени пользователя в операционных системах Linux необходимо использовать команду usermod. Эта команда изменяет файлы системной учетной записи, чтобы отразить изменения, указанные в командной строке. Не редактируйте файл /etc/passwd вручную или с помощью текстового редактора, такого как vi.

Что такое идентификатор группы и идентификатор пользователя в Linux?

Операционные системы Unix идентифицируют пользователя по значению, называемому идентификатором пользователя (UID), а Идентификация группы по идентификатору группы (GID) используются для определения того, к каким системным ресурсам может получить доступ пользователь или группа.

Как мне найти свой идентификатор группы и идентификатор в Linux?

Как найти свой uid(userid) и gid(groupid) в Linux через командную строку

  1. Откройте новое окно терминала (командную строку) в режиме графического интерфейса.
  2. Чтобы найти свое имя пользователя, введите команду whoami.
  3. Введите имя пользователя с идентификатором команды, чтобы найти свой gid и uid.

Как я могу изменить свой идентификатор пользователя?

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

  1. Откройте панель управления.
  2. Дважды щелкните значок "Пользователи и пароль".
  3. Убедитесь, что установлен флажок «Пользователи должны ввести имя пользователя и пароль для использования этого компьютера».
  4. Выделите учетную запись, для которой вы хотите изменить имя пользователя, и нажмите кнопку "Свойства".
  5. В свойствах вы можете изменить имя пользователя.

Как найти свой идентификатор пользователя в Linux?

Вы можете найти UID, хранящийся в файле /etc/passwd. Это тот же файл, который можно использовать для списка всех пользователей в системе Linux. Используйте команду Linux для просмотра текстового файла, и вы увидите различную информацию о пользователях, присутствующих в вашей системе. Третье поле здесь представляет идентификатор пользователя или UID.

Как изменить имя пользователя в терминале Kali Linux?

Как изменить имя пользователя или идентификатор пользователя в Kali Linux?

  1. Чтобы получить идентификатор пользователя cat /etc/passwd | grep старое имя пользователя. …
  2. Чтобы изменить имя пользователя. …
  3. Чтобы изменить идентификатор пользователя, мы используем команду usermod вместе с параметром -u, чтобы изменить идентификатор пользователя конкретного пользователя.

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

Linux: сброс пароля пользователя

  1. Откройте окно терминала.
  2. Введите команду sudo passwd ИМЯ ПОЛЬЗОВАТЕЛЯ (где ИМЯ ПОЛЬЗОВАТЕЛЯ – это имя пользователя, чей пароль вы хотите изменить).
  3. Введите пароль пользователя.
  4. Введите новый пароль для другого пользователя.
  5. Повторно введите новый пароль.
  6. Закройте терминал.

Какая команда удаляет пользователя в Linux?

Удалить пользователя Linux

  1. Войдите на свой сервер через SSH.
  2. Переключитесь на пользователя root: sudo su –
  3. Используйте команду userdel для удаления старого пользователя: имя пользователя пользователя userdel.
  4. Необязательно: вы также можете удалить домашний каталог и почтовую очередь этого пользователя, используя флаг -r с командой: userdel -r имя пользователя пользователя.

Как узнать свой идентификатор пользователя?

Есть несколько способов:

  1. Используя команду id, вы можете получить реальные и эффективные идентификаторы пользователей и групп.id -u Если для id не указано имя пользователя, по умолчанию будет использоваться текущий пользователь.
  2. Использование переменной среды. повторить $UID.

Как найти идентификатор пользователя?

Чтобы восстановить свой идентификатор пользователя и пароль, вы можете использовать функцию "Забыли пароль", выполните следующие действия:

  1. Перейдите на веб-сайт и нажмите «Войти».
  2. Во всплывающем окне входа нажмите ссылку `Забыли пароль`.
  3. Введите свой зарегистрированный идентификатор электронной почты.
  4. Вы получите список всех идентификаторов пользователей, связанных с идентификатором электронной почты.

Что означает id в Linux?

Команда

id в Linux используется для получения имен пользователей и групп, а также числовых идентификаторов (UID или идентификатор группы) текущего пользователя или любого другого пользователя на сервере. Эта команда полезна для получения следующей информации, как указано ниже: Имя пользователя и реальный идентификатор пользователя. Узнайте конкретный UID пользователя.

Что такое идентификационный номер пользователя?

С каждым именем пользователя связан идентификационный номер пользователя (UID). Номер UID идентифицирует имя пользователя для любой системы, в которой пользователь пытается войти. И номер UID используется системами для идентификации владельцев файлов и каталогов.

Как найти идентификатор группы в Linux?

Чтобы найти UID пользователя (идентификатор пользователя) или GID (идентификатор группы) и другую информацию в Linux/Unix-подобных операционных системах, используйте команду id. Эта команда полезна для получения следующей информации: Получить имя пользователя и реальный идентификатор пользователя. Найти UID определенного пользователя.

Читайте также: