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, а также имени пользователя.
# 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:
# groupmod -g 600 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 также используется для изменения прав символических ссылок.
Ошибка в
# find / -gid 900 -perm /6000 -ls
Должно быть
# find / -gid 600 -perm /6000 -ls
😉
Спасибо.
Добавьте в Предостерижения в п.1
# cat /etc/group | grep group01
чтоб увидеть пользователей входящих в группу.
в команде «ps -ef» НЕ отображаются UID
Отображаются, добавил скриншот