В моей системе только один пользователь. Как я могу изменить его идентификатор пользователя по умолчанию 1000?
Если необходимы дополнительные шаги, чтобы избежать прерывания процесса входа в систему при обычной установке на рабочем столе, они должны быть включены в ответ.
user-management
ændrük
источник
источник
Ответы:
Проблема в том, что, как вы упомянули, вы не можете изменить UID своего пользователя, когда он вошел в сеанс. Вы должны использовать другую учетную запись пользователя, чтобы продолжить.
Но вам не нужно создавать новую учетную запись пользователя, повышать ее до уровня администратора, выходить из системы, входить в новую учетную запись администратора, изменять UID вашей основной учетной записи, выходить из системы, входить в свою основную учетную запись, а затем удалять нового пользователя-администратора. просто измените свой UID. ;)
Вы можете загрузиться в режиме восстановления (это опция, которая появляется при запуске компьютера или удерживает клавишу shift сразу после завершения сообщений BIOS; используйте ESCна компьютерах Dell с OEM-Ubuntu). Это позволит вам войти в корневой сеанс. Будучи авторизованным пользователем root, а не вашей обычной учетной записью , вы сможете изменить свой UID.
Поскольку режим восстановления работает только в интерфейсе командной строки, после входа в корневую сессию вам необходимо:
Используйте инструкцию BubbaJ, чтобы перемонтировать корневую файловую систему в режиме чтения-записи :
mount -o remount,rw /
.Используйте команду Луиса Альварадо :
usermod -u NEW_UID your_username
.reboot
), чтобы вы могли загрузиться в обычном режиме.источник
usermod -u NEW_UID your_username
иfind / -uid 1000 -exec chown -h 5000 '{}' \+
перезагрузка приводит к входу в систему с графическим интерфейсом только для догадки./etc/login.defs
и/etc/adduser.conf
файлы, если вы изменили свой uid за пределами политик, предусмотренных в этих файлах конфигурации. Пользователи за пределами политики не отображаются в цикле входа в систему, но вы можете изменить политику. Смотрите этот ответusermod: user user_name is currently used by process 1118
@ Александр П.Вы можете изменить его
/etc/passwd
,/etc/group
и/etc/shadow
или использовать один из предпочтительных можности выше. Но - самое главное - вы должны изменить владельца всех файлов, принадлежащих пользователю.Например, если старый идентификатор пользователя равен 1000, а новый - 5000:
И то же самое для идентификатора группы (если вы также измените его).
источник
sudo find / -xdev -uid 1000 -exec chown 5000 '{}' \+
, иначе можно включить смонтированные данные (в/mnt
, что, возможно, нежелательно) и файлы, с которыми лучше не связываться в/proc
и/dev
. Смотрите этот постКомплексное решение на основе @AlexandreP. и @ddeimeke + официальная документация. Перезагрузка не требуется.
Политика Debian / Ubuntu такова, что если есть пользователь
jim
с идентификатором пользователя1001
, существует также группаjim
с идентификатором группы1001
. Это решение также обновляет эти идентификаторы группы.Включить учетную запись root :
Войдите в систему как пользователь root и запустите его, указав имя пользователя и старый / новый UID:
$username
Отключить учетную запись root :
источник
sudo setfacl -m "u:<NEWUID>:r-x" /media/<USERNAME> sudo setfacl -x "u:<OLDUID>" /media/<USERNAME>
Если вы перейдете в консоль и наберете:
usermod --help
вы получите один из параметров, говорящий:-u, --uid UID новый UID для учетной записи пользователя
поэтому, если вы хотите изменить UID для пользователя cyrex, выполните:
usermod -u 1000 cyrex
что бы изменить UID для Cyrex с любого значения, которое он имел до 1000
Если вы хотите сделать это визуально, то сделайте это:
Перейти к
Выберите себя из списка и нажмите на РАСШИРЕННЫЕ НАСТРОЙКИ
UID находится в конце этого окна.
источник
источник
С KDE: в меню «Изменить дополнительные настройки пользователя»:
Переход от другого пользователя не работает для 1000, который является пользователем по умолчанию.
Вы должны сделать это вручную - мой опыт
источник
Сначала вам нужно войти в систему как root, хотя бы на некоторое время, поэтому давайте сделаем это возможным:
Перезагрузитесь, ctrl + alt + f1, чтобы переключиться на консоль, войдите в систему как root, сделайте следующее (о владении в home dir позаботится автоматически):
Для ваших файлов в местах, отличных от вашего домашнего каталога, к этому:
Удалите и заблокируйте пароль root, если хотите. (Склоняюсь к этому)
источник
Я следовал инструкциям ddeimeke со следующими изменениями:
sudo su
/etc/shadow
Я видел упоминание в других ответах, что вы должны либо загрузиться для восстановления, либо войти в систему как
root
. У меня была свежая установка Ubuntu 14, поэтому я хотел проверить, будет ли она работать без входа в систему какroot
. Также я делал это на экземпляре EC2 через SSH.источник