- How to (Correctly) Change the UID and GID of a user/group in Linux
- Pre-requisites
- Modifying the UID and GID of the user and group
- Caveats
- Some more articles you might also be interested in …
- Изменить группы в Linux с помощью команды groupmod
- Изменить имя группы с помощью команды groupmod
- Изменить идентификатор группы с помощью команды groupmod
- 🐧 Как (правильно) изменить UID и GID пользователя / группы в Linux
- Предпосылки
- Изменение UID и GID пользователя и группы
- Предостережения
How to (Correctly) Change the UID and GID of a user/group in Linux
Changing the UID and GID of a user might seem a trivial task to most of the system admins. But it’s not so trivial and it involves a lot more changes in the backend. In this post, we have outlined the exact steps to change the UID and GID of a user “user01”.
Username: user01 Group: group01 Existing UID: 800 Existing GID: 700 New UID: 900 New GID: 600
Pre-requisites
1. Make sure the user for which UID and GID is to be changed is currently not having any active process running in the system. To check the same use “ps” command. For example:
# ps -ef | grep user01 # ps -ef | grep 800
Note: In the “ps -ef” command UID are displayed. So make sure you grep for UID as well as the username for the user.
2. Take the backup of important files where UID and GID related information is stored. i.e. /etc/passwd and /etc/group.
# cp -p /etc/passwd /etc/passwd.bkp # cp -p /etc/group /etc/group.bkp
3. Verify the exisitng UID and GID of the user using the “id” command:
# id user01 uid=800(user01) gid=700(group01) groups=700(group01)
Modifying the UID and GID of the user and group
Once you have taken necessary backups and command outputs we can go ahead and change the UID and GID.
1. First change the GID of the group, group01:
2. Next, change the UID as well and GID of the user, user01:
# usermod -u 900 -g 600 user01
3. Verify the new UID and GID of the user:
# id user01 uid=900(user01) gid=600(group01) groups=600(group01)
Caveats
1. If there are multiple users in the group “group01”, after changing the GID of the group you will have to modify the other users as well along with the user01 as shown above.
2. Once you have changed the UID and GID, you will have to change the permissions of the files owned by the user/group as well. But the chown command also resets the SETUID and SETGID of the files, so you will need to manually change the permissions of these files later on. To find such files:
# find / -uid 900 -perm /6000 -ls # find / -gid 900 -perm /6000 -ls
3. To find the files owned by user01 and group01 and to change their permissions:
# find / -uid 800 -exec chown -v -h 900 '<>' \; # find / -gid 700 -exec chgrp -v 600 '<>' \;
The -h option is used to change the permissions of symbolic links as well.
Some more articles you might also be interested in …
Изменить группы в Linux с помощью команды groupmod
В предыдущих статьях вы изучали команды groupadd и groupdel. В этой статье вы узнаете о команде groupmod.
Команда groupmod в Linux изменяет данную группу, изменяя ее имя или идентификатор группы (GID).
Изменение группы — это административная задача, поэтому вам нужно быть пользователем sudo или использовать учетную запись root для запуска этой команды.
Мы будем использовать sudo в примерах команд groupmod здесь.
Изменить имя группы с помощью команды groupmod
Если вы хотите изменить имя группы, вы можете сделать это следующим образом:
sudo groupmod -n new_groupname old_groupname
Хорошо, что вы изменили имя группы, но это не влияет на файлы, принадлежащие этой группе.
Посмотрим на реальные примеры.
Итак, вот файл, принадлежащий пользователю andreyex и группе test_group.
andreyex@destroyer:~$ ls -l ab.txt -rw-r--r-- 1 andreyex test_group 0 Feb 29 13:23 ab.txt
Теперь, если мы изменим имя группы с test_group на testgroup (удаляя подчеркивание из имени)
andreyex@destroyer:~$ sudo groupmod -n testgroup test_group
Он «меняет» владение группы файлом, чтобы отразить новое имя группы:
andreyex@destroyer:~$ ls -l ab.txt -rw-r--r-- 1 andreyex testgroup 0 Feb 29 13:23 ab.txt
На самом деле, идентификатор группы остается неизменным, даже если имя группы было изменено. Давайте посмотрим, как изменить идентификатор группы.
Изменить идентификатор группы с помощью команды groupmod
Вы можете изменить GID группы следующим образом:
sudo groupmod -g GID groupname
Теперь это рискованная модификация и ее следует избегать. Во-первых, не будет выполняться никаких проверок в отношении определений входа в систему, таких как значения GID_MIN, GID_MAX, SYS_GID_MIN, SYS_GID_MAX, чтобы различать системные группы и нормальные группы.
Вторая и более важная вещь заключается в том, что файлы, принадлежащие группе, останутся в собственности группы несуществующей группой.
Посмотрите это в примере ниже, где я изменил ID группы группового тестирования на 1020, и файл, принадлежащий этой группе, все еще отражает старый GID.
andreyex@destroyer:~$ ls -l a.txt -rw-r--r-- 1 andreyex testing 57 Feb 29 13:23 a.txt andreyex@destroyer:~$ sudo groupmod -g 1020 testing andreyex@destroyer:~$ ls -l a.txt -rw-r--r-- 1 andreyex 1008 57 Feb 29 13:23 a.txt
Если вам интересно, вы можете увидеть GID в файле /etc/group.
Мы надеемся, что вы стали лучше понимать команду groupmod. Любые вопросы или предложения приветствуются.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
🐧 Как (правильно) изменить 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.
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 305)
- Медиа (66)
- Мероприятия (39)
- Мошенники (23)
- Обзоры (820)
- Обход запретов (34)
- Опросы (3)
- Скрипты (114)
- Статьи (352)
- Философия (114)
- Юмор (18)
Anything in here will be replaced on browsers that support the canvas element
Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]
В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]
Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]
Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]
Является ли запуск сервера NFS в кластере Kubernetes хорошей идеей или это ворота для хакеров Одним из многочисленных преимуществ сетевой файловой системы является ее способность выполнять многократное чтение-запись. И как и все в наши дни, NFS – это просто еще одна служба, которую можно запустить в своем кластере Kubernetes. Однако является ли сервер NFS подходящей […]