Erfahren Sie, wie Sie UID oder GID unter Linux sicher ändern. Außerdem erfahren Sie, wie Sie die UID zwischen zwei Benutzern und die GID zwischen zwei Gruppen wechseln, ohne dass sich dies auf die Eigentümerschaft der Dateien auswirkt.
In diesem Artikel führen wir Sie durch, um die UID oder GID bestehender Benutzer oder Gruppen zu ändern, ohne die Eigentumsrechte an den ihnen gehörenden Dateien zu beeinträchtigen. Später haben wir auch erklärt, wie man die GID zwischen zwei Gruppen wechselt und wie man die UID zwischen zwei Benutzern auf dem System wechselt, ohne den Dateibesitz zu beeinträchtigen, der ihnen gehört.
Beginnen wir mit dem Ändern von UID oder GID auf dem System.
Aktuelles Szenario:
Benutzer shrikant mit UID 1001
Gruppieren Sie sysadmin mit GID 2001
Erwartetes Szenario:
Benutzer shrikant mit UID 3001
Gruppieren Sie sysadmin mit GID 4001
Das Ändern von GID und UID ist einfach mit dem Befehl usermod oder groupmod, aber Sie müssen bedenken, dass Sie nach dem Ändern von UID oder GID den Besitz aller Dateien, die ihnen gehören, manuell ändern müssen, da der Dateibesitz dem Kernel durch GID und UID bekannt ist. nicht nach Benutzername.
Das Verfahren ist –
Ändern Sie die UID oder GID wie folgt:
root@kerneltalks # usermod -u 3001 shrikant root@kerneltalks # groupmod -g 4001 sysadmin
Suchen und ändern Sie nun alle Eigentumsrechte von Dateien, die diesem Benutzer oder dieser Gruppe gehören, mit einer for-Schleife
root@kerneltalks # for i in `find / -user 1001`; do chown 3001 $i; done root@kerneltalks # for i in `find / -group 2001`; do chgrp 4001 $i; done OR root@kerneltalks # find / -user 1001 -exec chown -h shrikant {} \; root@kerneltalks # find / -group 2001 -exec chgrp -h sysadmin {} \;
Das ist es. Sie haben die UID und GID auf Ihrem System sicher geändert, ohne dass die Eigentumsrechte an den Dateien beeinträchtigt werden!
So wechseln Sie die GID zweier Gruppen
Aktuelles Szenario:
Gruppieren Sie sysadmin mit GID 1111
Gruppenorakel mit GID 2222
Erwartetes Szenario:
Gruppieren Sie sysadmin mit GID 2222
Gruppenorakel mit GID 1111
In der obigen Situation müssen wir eine Zwischen-GID verwenden, die derzeit auf Ihrem System nicht verwendet wird. Überprüfen Sie die Datei /etc/group und wählen Sie eine GID XXXX aus, die in keiner Datei vorhanden ist. In unserem Beispiel nehmen wir 9999 als Zwischen-GID.
Jetzt ist der Prozess einfach –
- Systemadministrator-GID auf 9999 ändern
- Suchen und ändern Sie die Gruppe aller Dateien im Besitz von GID 1111 zu sysadmin
- Oracle-GID auf 1111 ändern
- Suchen und ändern Sie die Gruppe aller Dateien im Besitz von GID 2222 in Oracle
- Systemadministrator-GID auf 2222 ändern
- Suchen und ändern Sie die Gruppe aller Dateien im Besitz von GID 9999 in sysadmin
Die Liste der Befehle für die obigen Schritte ist –
root@kerneltalks # groupmod -g 9999 sysadmin root@kerneltalks # find / -group 1111 -exec chgrp -h sysadmin {} \; root@kerneltalks # groupmod -g 1111 oracle root@kerneltalks # find / -group 2222 -exec chgrp -h oracle {} \; root@kerneltalks # groupmod -g 2222 sysadmin root@kerneltalks # find / -group 9999 -exec chgrp -h sysadmin {} \;
So ändern Sie die UID von zwei Benutzern
Dies kann auf die gleiche Weise erfolgen, wie wir oben die GID geändert haben, indem wir die Zwischen-UID verwenden.