В моей системе существует только один пользователь. Как я могу изменить его идентификатор пользователя от значения по умолчанию 1 000?
Если бы существуют дополнительные шаги, которые требовались бы, чтобы не повреждать процесс входа в систему на типичной настольной установке, они должны быть включены как часть ответа.
Проблема состоит в том, что, как Вы упомянул, Вы не можете изменить UID своего пользователя, когда он зарегистрирован сессия. Необходимо использовать другую учетную запись пользователя для продолжения.
Но Вы не должны создать новую учетную запись пользователя, продвинуть ее администратора, выйти из системы, войти в новый администраторский аккаунт, изменить UID Вашей основной учетной записи, выйти из системы, войти в Ваш основной аккаунт, затем удаляют нового администраторского пользователя, просто изменяют Ваш UID.;)
Можно загрузиться в режим восстановления (это - опция, которая появляется, когда Вы запускаете свой компьютер или держите сдвиг прямо после завершенных сообщений BIOS; Используйте ESC на машинах Dell рабочая OEM-Ubuntu). Это зарегистрирует Вас на корневой сессии. Будучи зарегистрирован корень и не Ваша обычная учетная запись пользователя, Вы сможете изменить свой UID.
Поскольку режим восстановления только работает в интерфейсе командной строки, когда-то вошел в корневую сессию, Вы будете иметь к:
Используйте инструкции BubbaJ повторно смонтировать корневую файловую систему в режиме чтения-записи: mount -o remount,rw /
.
Используйте команду Luis Alvarado: usermod -u NEW_UID your_username
.
reboot
), таким образом, можно загрузиться в нормальном режиме.Можно изменить его в /etc/passwd
, /etc/group
и /etc/shadow
или Вы используете одну из предпочтительных возможностей выше. Но - самый важный - необходимо изменить владение всех файлов, принадлежащих пользователю.
Например, если старый идентификатор пользователя 1000, и новый - 5000:
find / -uid 1000 -exec chown -h 5000 {} +
И то же для идентификатора группы (если Вы изменяете его также).
find / -gid 1000 -exec chgrp -h 5000 {} +
Если Вы переходите к консоли и типу: usermod --help
Вы получите одно из высказывания параметров:
- u, - uid UID новый UID для учетной записи пользователя
таким образом, если Вы хотите измениться, UID для пользователя cyrex затем сделайте:
usermod -u 1000 cyrex
это изменило бы uid для cyrex от любого значения, которое он имел прежде к 1 000
Если Вы хотите сделать это, визуально затем делают это:
Перейдите в
СИСТЕМА-> АДМИНИСТРИРОВАНИЕ-> ПОЛЬЗОВАТЕЛИ И ГРУППЫ
Выберите себя из списка и нажмите на ADVANCED SETTINGS
UID в конце того окна.
С KDE: в меню параметров опытного пользователя изменения:
Изменение от другого пользователя не работает на 1 000, который является пользователем по умолчанию.
необходимо сделать это вручную - мой опыт
Полное решение на основе @AlexandreP. и @ddeimeke + официальная документация. Никакая необходимая перезагрузка.
Политика Debian/Ubuntu - это, если существует пользователь jim
с идентификатором пользователя 1001
, существует также группа jim
с идентификатором группы 1001
. Это решение также обновляет те идентификаторы группы.
Включите корневую учетную запись:
sudo passwd 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
Отключите корневую учетную запись:
sudo passwd -dl root
Сначала необходимо войти в систему как корень, по крайней мере некоторое время, таким образом давайте сделаем это возможным:
sudo passwd root
Перезагрузка, ctrl + высокий звук + f1 для переключения на консоль, вход в систему как корень, делает следующее (владение в домашнем dir будет заботиться об автоматически):
groupmod --gid NEWGID username
usermod --uid NEWUID username
Для Ваших файлов в местах кроме Вашего домашнего dir, к этому:
sudo chown -R username:username /path/to/files
Удалите и заблокируйте passwd корня, если Вы хотите. (Я склонен сохранять его):
passwd -dl root
Я следовал инструкциям ddeimeke со следующими изменениями:
sudo su
/etc/shadow
Я видел, что это упомянуло в других ответах, что необходимо или загрузиться к восстановлению или входу в систему как root
. Мой был новой установкой Ubuntu 14, таким образом, я был готов протестировать, будет ли она работать, не входя в систему как root
. Также я делал это на экземпляре EC2 по SSH.