Cambiare nome al proprio utente

Salve a tutti.
All’installazione di fedora4 avevo scelto un nome utente contenente una lettera maiuscola.
Ora mi imbatto in un problema con sendmail al quale non piacciono gli indirizzi contenenti le maiuscole e mi da’ un errore di “user unknown”, quindi non riesce a recapitarmi la posta (tuttavia riesco ad inviarla…).
Ho provato anche a creare un utente diverso tutto minuscolo e sendmail funziona.
Quindi ora mi ritrovo ad avere un nome utente “diffettoso” corrispondente al mio utente personale utilizzato da circa un anno. Vorrei conservare la mia home e tutto quanto, se possibile.
C’è un modo per rinominare l’utente mantenendo tutta la configurazione eccecc.?

Grazie in anticipo. :slight_smile:

ti rispondo con

man usermod

tutto quello che si può dire sull’argomento è un girare e rigirare su cio’ che è IVI scritto.

puoi modificare nome (-l nome), home (-d o -m), …

:slight_smile:

fortunatamente man di usermod era in italiano :wink:

ho dato il seguente comando:

usermod -l userc userC

Adesso il vecchio utente userC è diventato userc, ma la home è rimasta /home/userC

so che per rinominarla occorre dare:

usermod -d /home/userc -m userc

in tal modo la nuova home dovrebbe acquisire tutto il contenuto della vecchia e inoltre dovrebbe anche essere creata qualora non esistesse già come inquesto caso.

Per ora ho lasciato la vecchi home, tanto è solo questione di nomi, spero…inoltre alcune configurazioni di programmi che mettiamo richiamino un percorso che coinvolge la /home/userC/, così non dovrebbero essere ifastidite troppo…

Vorrei chiedervi solo una conferma: è giusta l’operazione che ho portato a termine?

Mi vengono dei dubbi perché ho provato a dare il comando “id” e ho riscontrato la seguente situazione:

[root@localhost ~]# id userc
uid=500(userc) gid=502(userc) gruppi=502(userc)
[root@localhost ~]# id caio
uid=503(caio) gid=503(caio) gruppi=503(caio)
[root@localhost ~]# id tizio
uid=504(tizio) gid=504(tizio) gruppi=504(tizio)

Perchè gli utenti tizio e caio, creati ex-novo e mai modificati hanno gli “id” tutti uguali, mentre userc no?
significa che ho fatto qualche pasticcio? :-o

Vi ringrazio in anticipo, a presto. :stuck_out_tongue:

Perchè, secondo me, la uid userc è la ex-userC modificata, mentre ti ha creato un un nuovo gruppo, non avendo modificato il gruppo.
Se digiti, da terminale:

system-config-users

dovresti trovare tra i gruppi anche un userC con id 500…

[quote=mailga]

Perchè, secondo me, la uid userc è la ex-userC modificata, mentre ti ha creato un un nuovo gruppo, non avendo modificato il gruppo.
Se digiti, da terminale:

system-config-users

dovresti trovare tra i gruppi anche un userC con id 500…[/quote]

Hai ragione, nei gruppi c’e’:

userC, idgruppo=500, membri del gruppo=nessuno
userc, idgruppo=502, membri del gruppo=userc
caio, idgruppo=503, membri del gruppo=caio
tizio, idgruppo=504, membri del gruppo=tizio

Ok, ma adesso cosa devo fare per ottenere una situazione normale?

[quote=ccccc]
Ok, ma adesso cosa devo fare per ottenere una situazione normale?[/quote]
Se vuoi “normalizzare” il tuo utente devi devi cambiare l’id di userc da 500 a 502.

[quote=mailga]
Se vuoi “normalizzare” il tuo utente devi devi cambiare l’id di userc da 500 a 502.[/quote]

ho provato pero’ se faccio così poi non riesco più a fare il sudo e neanche mi e’ più possibile aprire un terminale!!!

Lo rimettero’ a 500…

Ese invece cambiassi l’id delle altre voci:

gid=502(userc) gruppi=502(userc)

Che effetto avrei se le mettessi entrambe a 500 ? ?

Con system-config-users dovresti poter ripristinare le tue funzionalità ma, forse, facendo come hai detto

potresti risolvere ugualmente.

Il problema è che ho parecchi dubbi e non vorrei fare pasticci:

ricapitolando ho uno user_id=500 perché fa riferimento al vecchio utente userC rinominato ora in userc.
Il vecchio userC a parteneva al gruppo userC contraddistinto anch’esso dall’ gruop_id=500.

Ora, non chiedetemi perché…può darsi anche che abbia pasticciato io, ho un nuovo utente “userc”, che è semplicemente il vecchio userC rinominato e un nuovo gruppo userc veramente nuovo. in termini di id ho l’id utente a 500 e l’id di gruppo a 502.
Ora Cosa accadrebbe se provassi ad:

1- eliminare il gruppo userc(gid=502)
2- rinominare il vecchio gruppo userC (gid=500) a userc
3- attribuire all’utente userc(uid=500) il nuovo gruppo userc(gid=500).

vi chiederei se potenste dirmi i comandi:

1- groupdel userc —> elimino il gruppo userc(gid=502)
2- groupmod -n userc userC —> rinomino il vecchio gruppo (gid=500)
3- qual è il comando per attribuire un gruppo allutente userc?

[quote=ccccc]
1- groupdel userc —> elimino il gruppo userc(gid=502)
2- groupmod -n userc userC —> rinomino il vecchio gruppo (gid=500)
3- qual è il comando per attribuire un gruppo allutente userc?[/quote]
Da system-config-users puoi farlo tranquillamente, comunque il tuo punto 3 è al contrario, avrebbe dovuto essere “qual è il comando per attribuire un utente al gruppo userc?”, la risposta è il comando usermod (vedi il man usermod).

Non si puo’ operare secondo il mio schema:
non e’ possibile eliminare il gruppo userc(id=502), in quanto gruppo principale dell’utente userc.
Per eliminare quel gruppo occorrerebbe eliminare prima l’utente userc, cosa che vorrei evitare.

Leggendo pero’ il man di usermod leggo l’opzione -g che dovrebbe stabilire il gruppo iniziale di un utente.

Allora potrei provare cosi’:

usermod -g userC userc

In questo modo spero di ottenere:

utente userc (id=500)
gruppo primario userC (gid=500)
gruppi d’a partenenza: userC, forse ci sara’ ancora anche usec(id=502).

A quel punto dovrei poter eliminare il gruppo userc(gid=502) e in seguito rinominare il gruppo principale userC(gid=500) a userc(gid=500)

Ho fatto come descritto prima.
Sembra aver funzionato. Ora però il risultato è:

[userc@localhost ~]$ id
uid=500(userc) gid=500(userc) gruppi=500(userc) context=user_u:system_r:unconfined_t

ignoro cosa significhi l’ultima voce “context=user_u:system_r:unconfined_t”

Comunque sembra funzionare tutto ok. Tra i gruppi ora non è più presente nè userc(gid=502) nè userC(500), ma solo userc(500).

E’ un discorso correlato a SELINUX, per cui ogni processo ha un suo “dominio”, ed tutto cio’ cui un processo puo’ accedere è di un “tipo”. Inolte tutto, nel sistema è riconducibile ad un cosiddetto contesto (context).

ogni processo in un sistema ha quindi un context di sicurezza costituito da tre campi:

identity:role:domain

oppure

identity:role:type

SELINUX basa le sue policy proprio sulla definizione di come ogni domain accede ad ogni tipo di risorsa, permettendo un certo tipo di accesso ad un tipo e non facendo lo stessso per un altro.

[quote=FuThAr]

E’ un discorso correlato a SELINUX, per cui ogni processo ha un suo “dominio”, ed tutto cio’ cui un processo puo’ accedere è di un “tipo”. Inolte tutto, nel sistema è riconducibile ad un cosiddetto contesto (context).

ogni processo in un sistema ha quindi un context di sicurezza costituito da tre campi:

identity:role:domain

oppure

identity:role:type

SELINUX basa le sue policy proprio sulla definizione di come ogni domain accede ad ogni tipo di risorsa, permettendo un certo tipo di accesso ad un tipo e non facendo lo stessso per un altro.[/quote]

Va bene, grazie mille per il chiarimento…mi pare allora tutto apposto.
Grazie a tutti per gli interventi. Anche la sola indicazione di quale pagina man consultare è stata per me molto utile, soprattutto in questo caso, in cui, fortunatamente era tutto in italiano:
spesso mi capita che la complicazione derivi dal connubbio inglese + informatica, anche se un poco di inglese lo mastico…

A presto ! ! ! :stuck_out_tongue: