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

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

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

1
задан 5 April 2014 в 10:54

7 ответов

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

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

find / -uid 1000 -exec chown -h 5000 {} +

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

find / -gid 1000 -exec chgrp -h 5000 {} +
44
ответ дан 26 May 2018 в 00:03
  • 1
    Это действительно важный момент. Многие вещи сломаются, если вы будете следовать методам, приведенным в других ответах, не делая этого. – poolie 9 December 2010 в 10:41
  • 2
    Я только что узнал, что лучше использовать sudo find / -xdev -uid 1000 -exec chown 5000 '{}' \+, иначе можно было бы включать в себя смонтированные данные (в /mnt, что, возможно, нежелательно) и файлы, с которыми вам лучше не возиться в /proc и /dev. См. этот пост – Sebastian 12 January 2012 в 22:42
  • 3
    Это не очень хорошая идея. Учитывая, что / home находится в другой файловой системе, вы даже не будете изменять права собственности на свои собственные файлы. – ddeimeke 13 January 2012 в 14:37
  • 4
    В этом ответе вы должны изменить разрешения группы и uid, прежде чем редактировать файлы в / etc, правильно? – MrDaniel 28 March 2012 в 00:49
  • 5
    Неважно, что вы делаете в первую очередь. – ddeimeke 28 March 2012 в 14:06

Полное решение на основе @AlexandreP. и официальная документация @ddeimeke +. Нет необходимости перезагрузки.

Политика Debian / Ubuntu заключается в том, что если есть пользователь jim с идентификатором пользователя 1001, есть также группа jim с идентификатором группы 1001. Это решение также обновляет эти идентификаторы групп.

Включить учетную запись root:
sudo passwd root
Если пользователь вошел в систему, затем выйдите из системы (также на виртуальных терминалах). Перейдите к VT1: Ctrl-Alt-F1. как root и запускать его с именем пользователя и старым / новым UID:
# put the information we need in variables
username=...
old_uid=`id -u $username`  # looks up current (old) uid
new_uid=...

# update the user ID and group ID for $username
usermod -u $new_uid $username
groupmod -g $new_uid $username

# update the file ownerships
# NB: you cannot combine the next two chowns, or files where 
# only the uid xor the gid matches won't be updated  
chown -Rhc --from=$old_uid $new_uid /    # change the user IDs
chown -Rhc --from=:$old_uid :$new_uid /  # change the group IDs
Выход из системы Войти как $username Отключить учетную запись root:
sudo passwd -dl root
18
ответ дан 26 May 2018 в 00:03
  • 1
    Включение учетной записи root не требуется; просто используйте Режим восстановления . – ændrük 24 July 2012 в 18:56
  • 2
    Это должно быть быстрее, чем перезагрузка, поэтому я разместил его. – l0b0 24 July 2012 в 23:25
  • 3
    В Ubuntu 14.04 и 14.10 вам также необходимо исправить расширенные разрешения ACL в / media, в противном случае автоматическая (в Nautilus / Nemo) ломается по мере удаления старого UID. [F1] – richud.com 7 November 2014 в 23:29
  • 4
    Это работало для меня как прелесть. Только пришлось менять uid. – chmike 6 May 2015 в 11:36
  • 5
    позволяя учетной записи root легче (и менее страшно) для меня, чем при использовании режима восстановления. – Jonathan Hartley 29 September 2016 в 05:03

Если вы перейдете к консоли и введите: usermod --help, вы получите один из параметров:

-u, --uid UID новый UID для учетной записи пользователя

поэтому, если вы хотите изменить UID для пользователя cyrex, тогда выполните:

usermod -u 1000 cyrex

, который изменит uid для cyrex с любого значения, которое у него было до 1000

Если вы хотите сделать это визуально, сделайте следующее:

Перейдите к

СИСТЕМА -> АДМИНИСТРАЦИЯ -> ПОЛЬЗОВАТЕЛИ И ГРУППЫ

Выберите себя из списка и нажмите ADVANCED SETTINGS

UID находится в конце этого окна.

6
ответ дан 26 May 2018 в 00:03
  • 1
    Я попробовал предложенный вами графический метод, но есть сообщение с сообщением «Вы не можете изменить идентификатор пользователя во время входа пользователя». Вы протестировали этот метод? – ændrük 10 December 2010 в 03:13
  • 2
    Хорошо, это правда. Я попробовал другой аккаунт. Вам нужно войти в систему через root или любую другую учетную запись администратора. Затем сделайте графический путь. Простите за это. – Luis Alvarado♦ 10 December 2010 в 17:19
Перейти к системе >> Администрирование >> Пользователи и группы

Перейти к системе >> Администрирование >> Пользователи и группы Измените его и нажмите «ОК».
2
ответ дан 26 May 2018 в 00:03
  • 1
    Должен ли я просто игнорировать предупреждение на скриншоте, «Вы не можете изменить идентификатор пользователя во время входа пользователя». – ændrük 9 December 2010 в 20:20
  • 2
    Вы должны изменить его из другой учетной записи пользователя, чтобы избавиться от этого предупреждения. – karthick87 9 December 2010 в 20:42
  • 3
    Мой вопрос: «Как я могу изменить свой собственный идентификатор пользователя?». Если вы намереваетесь ответить, что я должен создать нового пользователя, просто чтобы отредактировать это значение, вы должны отредактировать свой ответ, указав это. – ændrük 10 December 2010 в 03:10

С KDE: в меню «Изменить расширенные пользовательские настройки»:

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

вы должны сделать это вручную - мой опыт

0
ответ дан 26 May 2018 в 00:03

Сначала вам нужно войти как root, по крайней мере на некоторое время, поэтому давайте сделаем это возможным:

sudo passwd root

Перезагрузите, ctrl + alt + f1, чтобы переключиться на консоль, войдите в систему как root , выполните следующие действия:

groupmod --gid NEWGID username
usermod  --uid NEWUID username 

Для ваших файлов в местах, отличных от вашего домашнего каталога, к этому:

sudo chown -R username:username /path/to/files
[d3 ] Удалите и заблокируйте passwd root, если хотите. (Я стараюсь держать его):

passwd -dl root
0
ответ дан 26 May 2018 в 00:03

Я выполнил инструкции ddeimeke со следующими изменениями:

Я не вышел из системы и вместо этого сделал sudo su, я не касался /etc/shadow

Я видел, как он упоминался в другие ответы, которые вы должны либо загрузиться на восстановление, либо войти в систему как root. Mine была новой установкой Ubuntu 14, поэтому я был готов проверить, будет ли она работать без входа в систему root. Также я делал это на экземпляре EC2 через SSH.

0
ответ дан 26 May 2018 в 00:03

Другие вопросы по тегам:

Похожие вопросы: