La modifica dell'UID e del GID di un utente potrebbe sembrare un compito banale per la maggior parte degli amministratori di sistema. Ma non è così banale e comporta molti più cambiamenti nel back-end. In questo post, abbiamo delineato i passaggi esatti per modificare l'UID e il GID di un utente "user01".
Username: user01 Group: group01 Existing UID: 800 Existing GID: 700 New UID: 900 New GID: 600
Prerequisiti
1. Assicurarsi che l'utente per cui si desidera modificare UID e GID non abbia alcun processo attivo in esecuzione nel sistema. Per verificare lo stesso utilizzare il comando "ps". Ad esempio:
# ps -ef | grep user01 # ps -ef | grep 800Nota :Nel comando “ps -ef” vengono visualizzati gli UID. Quindi assicurati di grep per l'UID e il nome utente per l'utente.
2. Eseguire il backup dei file importanti in cui sono archiviate le informazioni relative a UID e GID. cioè /etc/passwd e /etc/group .
# cp -p /etc/passwd /etc/passwd.bkp # cp -p /etc/group /etc/group.bkp
3. Verificare l'UID e il GID esistenti dell'utente utilizzando il comando “id”:
# id user01 uid=800(user01) gid=700(group01) groups=700(group01)
Modifica dell'UID e del GID dell'utente e del gruppo
Dopo aver eseguito i backup necessari e gli output dei comandi, possiamo procedere e modificare l'UID e il GID.
1. Per prima cosa cambia il GID del gruppo, gruppo01:
# groupmod -g 600 group01
2. Successivamente, modifica anche l'UID e il GID dell'utente, utente01:
# usermod -u 900 -g 600 user01
3. Verifica il nuovo UID e GID dell'utente:
# id user01 uid=900(user01) gid=600(group01) groups=600(group01)
Avvertenze
1. Se ci sono più utenti nel gruppo “gruppo01”, dopo aver modificato il GID del gruppo sarà necessario modificare anche gli altri utenti insieme all'utente01 come mostrato sopra.
2. Dopo aver modificato l'UID e il GID, sarà necessario modificare anche i permessi dei file di proprietà dell'utente/gruppo. Ma il comando chown reimposta anche SETUID e SETGID dei file, quindi dovrai modificare manualmente le autorizzazioni di questi file in seguito. Per trovare tali file:
# find / -uid 900 -perm /6000 -ls # find / -gid 900 -perm /6000 -ls
3. Per trovare i file di proprietà di utente01 e gruppo01 e per modificare i loro permessi:
# find / -uid 800 -exec chown -v -h 900 '{}' \; # find / -gid 700 -exec chgrp -v 600 '{}' \;
Il -h l'opzione viene utilizzata anche per modificare i permessi dei collegamenti simbolici.