1 2 3 4 5 6 |
Username: user01 Group: group01 Existing UID: 800 Existing GID: 700 New UID: 900 New GID: 600 |
1. Убедитесь, что пользователь, для которого необходимо изменить UID и GID, в данный момент не имеет активных процессов, запущенных в системе.
Thank you for reading this post, don't forget to subscribe!Чтобы проверить то же самое, используйте команду «ps».
Например:
1 2 |
# ps -ef | grep user01 # ps -ef | grep 800 |
Примечание: в команде «ps -ef» отображаются UID. Так что убедитесь, что вы грепаете поя UID, а также имени пользователя.
1 2 |
# cp -p /etc/passwd /etc/passwd.bkp # cp -p /etc/group /etc/group.bkp |
3. Проверьте существующие UID и GID пользователя с помощью команды «id»:
1 2 |
# id user01 uid=800(user01) gid=700(group01) groups=700(group01) |
Изменение UID и GID пользователя и группы
После того, как вы сделали необходимые резервные копии, мы можем изменить UID и GID.
1. Сначала измените GID группы, group01:
1 |
# groupmod -g 600 group01 |
2. Затем также измените UID и GID пользователя user01:
1 |
# usermod -u 900 -g 600 user01 |
3. Проверьте новый UID и GID пользователя:
1 2 |
# id user01 uid=900(user01) gid=600(group01) groups=600(group01) |
Предостережения
1. Если в группе «group01» несколько пользователей, после изменения GID группы вам придется изменить других пользователей, а также user01, как показано выше.
2. После того, как вы изменили UID и GID, вам также придется изменить права доступа к файлам, принадлежащим пользователю/группе.
Но команда chown также сбрасывает SETUID и SETGID файлов, поэтому вам потребуется вручную изменить разрешения этих файлов позже.
Чтобы найти такие файлы:
1 2 |
# find / -uid 900 -perm /6000 -ls # find / -gid 900 -perm /6000 -ls |
1 2 |
# find / -uid 800 -exec chown -v -h 900 '{}' \; # find / -gid 700 -exec chgrp -v 600 '{}' \; |
Опция -h также используется для изменения прав символических ссылок.