Поменять uid пользователя linux

How can I change my own user ID?

There is only one user on my system. How can I change its user ID from the default of 1000? If there are additional steps that would be required in order to avoid breaking the login process on a typical desktop installation, those should be included as part of the answer.

If you commonly exchange data with other systems via NFS, or just some copy method which preserves the UID, it will help if you use the same UID for the same username across systems.

João got it right. In particular, I’m hoping to match up UIDs with users in Mac OS X so that a shared filesystem carries the intended permissions across operating systems.

The current version of Nethack (3.6.0) saves games including the current uid in the filename. If you want to sync a save game between machines, you need to match uids. (using a symlink isn’t practical)

For all serious intents and purposes, it is unsupported and all answers here are hacky and risky-to-use.

9 Answers 9

You can change it in /etc/passwd , /etc/group and /etc/shadow or you use one of the preferred possibilties above. But — most important — you have to change the ownership of all files belonging to the user.

For instance, if the old user id is 1000 and the new one is 5000:

find / -uid 1000 -exec chown -h 5000 <> + 

And the same for the group id (if you change it as well).

find / -gid 1000 -exec chgrp -h 5000 <> + 

This is a really important point. Many things will break if you follow the techniques given in the other answers without also doing this.

I just learnt one should better use sudo find / -xdev -uid 1000 -exec chown 5000 ‘<>‘ \+ , otherwise one would include mounted data (in /mnt , which is possibly undesired) and files you better not mess with in /proc and /dev . See this post

This is not a good idea. Given the case that /home is on a different filesystem, you will not even change the ownership of your own files.

On this answer you should change the group and uid permissions, before editing the files in /etc, right?

Complete solution based on @AlexandreP. and @ddeimeke + official documentation. No reboot necessary.

The Debian/Ubuntu policy is that if there is a user jim with user ID 1001 , there is also a group jim with group ID 1001 . This solution also updates those group IDs.

# 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 

In Ubuntu 14.04 and 14.10 you also need to fix the extended ACL permissions in /media otherwise automounting (in Nautilus/Nemo) breaks as the old UID remains. sudo setfacl -m «u::r-x» /media/ sudo setfacl -x «u:» /media/

Читайте также:  Linux ssh server ubuntu

The problem is that, like you mentioned, you cannot change your user’s UID when it is logged in a session. You have to use another user account to proceed.

But you don’t have to create a new user account, promote it to admin, log out, log in to the new admin account, change your primary account’s UID, log out, log in to your primary account then delete the new admin user just change your UID. 😉

You can boot into recovery mode (it’s an option that appears when you start up your computer, or hold shift right after the BIOS messages complete; Use ESC on Dell machines running OEM-Ubuntu). This will log you in a root session. Being logged in root and not your usual user account, you will be able to modify your UID.

Because the recovery mode only works in command line interface, once logged into a root session, you will have to:

  1. Use BubbaJ’s instructions to remount the root file system in read-write mode: mount -o remount,rw / .
  2. Use Luis Alvarado’s command: usermod -u NEW_UID your_username .
  3. Follow ddeimeke’s instructions to update file permissions.
  4. Then, reboot your computer ( reboot ), so you can boot in normal mode.

Doesn’t work for Ubuntu 14.04. After doing usermod -u NEW_UID your_username and find / -uid 1000 -exec chown -h 5000 ‘<>‘ \+ , reboot leads to a guess-session-only GUI login.

You may wish to check your /etc/login.defs and /etc/adduser.conf files if you have changed your uid outside of the policies provided in those configuration files. Users outside the policy limits are not displayed in the login loop, but you may change the policy. See this answer

Answer is missing advice from @KMarkey’s comment. If you change the user ID outside of the configured range in /etc/login.defs and /etc/adduser.conf , then there is no Gnome login. This last step fixed it for me.

If you go to console and type: usermod —help you will get one of the parameters saying:

-u, —uid UID new UID for the user account

so if you want to change the UID for user cyrex then do:

that would change the uid for cyrex from whatever value it had before to 1000

If you want to do it visually then do this:

SYSTEM —> ADMINISTRATION —> USERS AND GROUPS

Select yourself from the list and click on ADVANCED SETTINGS

UID is at the end of that window.

I tried the graphical method you suggested, but there is a message saying «You can’t change user ID while the user is logged in.» Have you tested this method?

Hehe well that is true. I tried with another account. You need to login via root or any other admin account. Then do the graphical way. Sorry for that.

alt text

alt text

  • Click Advanced Settings and goto Advanced Tab there in the bottom you will see your user id.
  • Change it and click ok.

Should I just ignore the warning in your screenshot, «You can’t change user ID while the user is logged in.»?

My question is «How can I change my own user ID?». If you intend your answer to be that I should create a new user just to edit this value, you should edit your answer to indicate so.

Читайте также:  Hp pavilion linux install

This is summed up, what at least since Ubuntu 20.04 is needed (for keeping to be able using Automounting, the change in Extended ACL permissions is needed):

I wanted to change a user id and group id for example from default (uid=) 1000 (and gid=1000) to (uid=) 5000 (and gid=5000), so access to mobile drives formatted with ext4 or similar capable systems with uid & gid) are no problem, if the files and archives have the same user id or group id 5000, no matter if another computer or operating system writes data to this (this enables sharing files easily between computers if all the own users have the same uid and gid).

First I created an additional user, logged as new user, changed in terminal with sudo su — to the root and then I used the commands

find / -uid 1000 -exec chown -h 5000 <> + 
find / -gid 1000 -exec chgrp -h 5000 <> + 

for changing group ID. (Take care: This changes the rights on all mounted devices. If not wanted, unmount all not desired or narrow the commands in the part find / to find /home/ or else.)

In Fedora this worked but not in Ubuntu totally. For example Automounting did not work. Then I read one has to fix also the extended ACL permissions, otherwise things like Automounting breaks (perhaps problem because of ACL permissions do not appear if no user had this UID & GID already but in my case this was the problem). The change of the Extended ACL permissions seems to be required since Ubuntu 14.04 and 14.10.

These are the commands which gave the possibility of Automounting back again:

, which sets UID permissions to the own folder in ‘media’ and

, which deletes permissions to the own user folder for the old UID (yes, this command is not needed for getting Automounting work again, but it ensures another user with the old UID has not access to the media, too).

BTW: A user says, usermod already changes all permissions in home folder since Ubuntu 18.04, but for Automounting at least until Ubuntu 20.04.4 this seems not to be enough yet.

PS: If someone asks why I did not post this as a question with the solution, the I have to say, I do not have enough «karma» in this sites for doing this. So please vote this answer up.

Источник

🐧 Как (правильно) изменить UID и GID пользователя / группы в Linux

Мануал

Изменение UID и GID пользователя может показаться тривиальной задачей для большинства системных администраторов.

Username: user01 Group: group01 Existing UID: 800 Existing GID: 700 New UID: 900 New GID: 600

Предпосылки

1. Убедитесь, что пользователь, для которого необходимо изменить UID и GID, в данный момент не имеет активных процессов, запущенных в системе.

Чтобы проверить то же самое, используйте команду «ps».

# ps -ef | grep user01 # ps -ef | grep 800

Примечание: в команде «ps -ef» отображаются UID. Так что убедитесь, что вы грепаете поя UID, а также имени пользователя.

2. Сделайте резервную копию важных файлов, в которых хранится информация, связанная с UID и GID. т.е. /etc/passwd и /etc/group.

# cp -p /etc/passwd /etc/passwd.bkp # cp -p /etc/group /etc/group.bkp

3. Проверьте существующие UID и GID пользователя с помощью команды «id»:

# id user01 uid=800(user01) gid=700(group01) groups=700(group01)

Изменение UID и GID пользователя и группы

После того, как вы сделали необходимые резервные копии, мы можем изменить UID и GID.

Читайте также:  Fedora linux 35 workstation gnome

1. Сначала измените GID группы, group01:

2. Затем также измените UID и GID пользователя user01:

# usermod -u 900 -g 600 user01

3. Проверьте новый UID и GID пользователя:

# id user01 uid=900(user01) gid=600(group01) groups=600(group01)

Предостережения

1. Если в группе «group01» несколько пользователей, после изменения GID группы вам придется изменить других пользователей, а также user01, как показано выше.

2. После того, как вы изменили UID и GID, вам также придется изменить права доступа к файлам, принадлежащим пользователю/группе.

Но команда chown также сбрасывает SETUID и SETGID файлов, поэтому вам потребуется вручную изменить разрешения этих файлов позже.

# find / -uid 900 -perm /6000 -ls # find / -gid 900 -perm /6000 -ls
# find / -uid 800 -exec chown -v -h 900 '<>' \; # find / -gid 700 -exec chgrp -v 600 '<>' \;

Опция -h также используется для изменения прав символических ссылок.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

Спасибо.
Добавьте в Предостерижения в п.1
# cat /etc/group | grep group01
чтоб увидеть пользователей входящих в группу.

  • Аудит ИБ (49)
  • Вакансии (12)
  • Закрытие уязвимостей (105)
  • Книги (27)
  • Мануал (2 306)
  • Медиа (66)
  • Мероприятия (39)
  • Мошенники (23)
  • Обзоры (820)
  • Обход запретов (34)
  • Опросы (3)
  • Скрипты (114)
  • Статьи (352)
  • Философия (114)
  • Юмор (18)

Anything in here will be replaced on browsers that support the canvas element

OpenVPN Community Edition (CE) – это проект виртуальной частной сети (VPN) с открытым исходным кодом. Он создает защищенные соединения через Интернет с помощью собственного протокола безопасности, использующего протокол SSL/TLS. Этот поддерживаемый сообществом проект OSS (Open Source Software), использующий лицензию GPL, поддерживается многими разработчиками и соавторами OpenVPN Inc. и расширенным сообществом OpenVPN. CE является бесплатным для […]

Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]

В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]

Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]

Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]

Источник

Оцените статью
Adblock
detector