В моей системе есть только один пользователь. Как изменить свой идентификатор пользователя по умолчанию 1000?
Если есть дополнительные шаги, которые потребуются во избежание нарушения процесса входа в систему при обычной установке на рабочем столе, они должны быть включены как часть ответ.
Вы можете изменить его в /etc/passwd, /etc/group и /etc/shadow или использовать одну из предпочтительных возможностей выше. Но самое главное - вы должны изменить права собственности на все файлы, принадлежащие пользователю.
Например, если старый идентификатор пользователя равен 1000, а новый - 5000:
find / -uid 1000 -exec chown -h 5000 {} +
И то же самое для идентификатора группы (если вы тоже его измените).
find / -gid 1000 -exec chgrp -h 5000 {} +
Полное решение на основе @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
Если вы перейдете к консоли и введите: usermod --help, вы получите один из параметров:
-u, --uid UID новый UID для учетной записи пользователя
поэтому, если вы хотите изменить UID для пользователя cyrex, тогда выполните:
usermod -u 1000 cyrex
, который изменит uid для cyrex с любого значения, которое у него было до 1000
Если вы хотите сделать это визуально, сделайте следующее:
Перейдите к
СИСТЕМА -> АДМИНИСТРАЦИЯ -> ПОЛЬЗОВАТЕЛИ И ГРУППЫВыберите себя из списка и нажмите ADVANCED SETTINGS
UID находится в конце этого окна.
Перейти к системе >> Администрирование >> Пользователи и группы Измените его и нажмите «ОК».
С KDE: в меню «Изменить расширенные пользовательские настройки»:
Переход с другого пользователя не работает на 1000, который является пользователем по умолчанию.
вы должны сделать это вручную - мой опыт
Сначала вам нужно войти как 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
Я выполнил инструкции ddeimeke со следующими изменениями:
Я не вышел из системы и вместо этого сделал sudo su, я не касался /etc/shadowЯ видел, как он упоминался в другие ответы, которые вы должны либо загрузиться на восстановление, либо войти в систему как root. Mine была новой установкой Ubuntu 14, поэтому я был готов проверить, будет ли она работать без входа в систему root. Также я делал это на экземпляре EC2 через SSH.