Das Ändern der UID und GID eines Benutzers mag für die meisten Systemadministratoren eine triviale Aufgabe sein. Aber es ist nicht so trivial und beinhaltet viel mehr Änderungen im Backend. In diesem Beitrag haben wir die genauen Schritte zum Ändern der UID und GID eines Benutzers „user01“ skizziert.
Username: user01 Group: group01 Existing UID: 800 Existing GID: 700 New UID: 900 New GID: 600
Voraussetzungen
1. Stellen Sie sicher, dass für den Benutzer, dessen UID und GID geändert werden sollen, derzeit kein aktiver Prozess im System ausgeführt wird. Um dasselbe zu überprüfen, verwenden Sie den Befehl „ps“. Zum Beispiel:
# ps -ef | grep user01 # ps -ef | grep 800Hinweis :Im „ps -ef“-Befehl werden UIDs angezeigt. Stellen Sie also sicher, dass Sie sowohl nach der UID als auch nach dem Benutzernamen des Benutzers suchen.
2. Erstellen Sie eine Sicherungskopie wichtiger Dateien, in denen UID- und GID-bezogene Informationen gespeichert sind. also /etc/passwd und /etc/group .
# cp -p /etc/passwd /etc/passwd.bkp # cp -p /etc/group /etc/group.bkp
3. Überprüfen Sie die vorhandene UID und GID des Benutzers mit dem „id“-Befehl:
# id user01 uid=800(user01) gid=700(group01) groups=700(group01)
Ändern der UID und GID des Benutzers und der Gruppe
Sobald Sie die erforderlichen Backups und Befehlsausgaben erstellt haben, können wir fortfahren und die UID und GID ändern.
1. Ändern Sie zuerst die GID der Gruppe group01:
# groupmod -g 600 group01
2. Ändern Sie als nächstes auch die UID und die GID des Benutzers user01:
# usermod -u 900 -g 600 user01
3. Überprüfen Sie die neue UID und GID des Benutzers:
# id user01 uid=900(user01) gid=600(group01) groups=600(group01)
Warnhinweise
1. Wenn es mehrere Benutzer in der Gruppe „Gruppe01“ gibt, müssen Sie nach dem Ändern der GID der Gruppe auch die anderen Benutzer zusammen mit dem Benutzer01 wie oben gezeigt ändern.
2. Nachdem Sie die UID und GID geändert haben, müssen Sie auch die Berechtigungen der Dateien ändern, die dem Benutzer/der Gruppe gehören. Aber der Befehl chown setzt auch die SETUID und SETGID der Dateien zurück, sodass Sie die Berechtigungen dieser Dateien später manuell ändern müssen. So finden Sie solche Dateien:
# find / -uid 900 -perm /6000 -ls # find / -gid 900 -perm /6000 -ls
3. Um die Dateien von Benutzer01 und Gruppe01 zu finden und ihre Berechtigungen zu ändern:
# find / -uid 800 -exec chown -v -h 900 '{}' \; # find / -gid 700 -exec chgrp -v 600 '{}' \;
Das -h Option wird verwendet, um auch die Berechtigungen von symbolischen Links zu ändern.