Come modificare i dati utente con chfn e usermod su Linux

Contenuti

Una finestra di terminale Linux su un laptop in stile Ubuntu.

C'è di più in un account utente che in un nome utente. Scopri come configurare e modificare tutti i metadati associati a un account utente Linux dalla riga di comando.

Cosa c'è in un nome?

Se stai usando un computer simile a Linux o Unix, avrà un account utente. Il nome dato all'account è il nome del tuo account utente. Questo è il nome che usi per accedere. Inoltre è (predefinito) il nome del tuo gruppo di login e il nome della tua home directory. Usano tutti lo stesso identificatore.

C'è un altro insieme di informazioni che possono essere archiviate per ogni account utente. Dati del mondo reale, come il nome completo della persona, il tuo numero di ufficio e il tuo numero di telefono di lavoro, come esempio, possono essere impostati e collegati ad essi. In realtà, blocchi di informazioni totalmente arbitrari possono essere taggati negli account utente.

In termini pratici, questo sarà molto utile per gli amministratori di sistema che hanno a che fare con computer che hanno molti account utente configurati. Ma anche per computer Linux per utente singolo, è sempre interessante sapere cosa sta succedendo sotto il cofano.

Il campo GECOS

C'è stato un tempo in cui i pionieri di Unix non avevano la propria stampante. Hanno dovuto mettere in coda i loro lavori di stampa per a Energia Generale mainframe che stava eseguendo il Sistema operativo completo General Electric (GECOSO). Per riuscirci, Gli utenti del sistema Unix avevano la necessità di archiviare e utilizzare le credenziali di un account sul sistema GECOS.

Il campo GECOS è stato creato per salvare quelle credenziali. Quello stesso requisito di nicchia è sparito da tempo., e il campo GECOS è stato riutilizzato per salvare altri dati relativi al proprietario dell'account utente. Potrei avere un nuovo lavoro, ma mantiene il suo vecchio nome. È ancora chiamato il campo GECOS.

Il campo è memorizzato in /etc/passwd file, insieme ad altre informazioni sull'account utente:

  • Il nome utente dell'account.
  • ID utente.
  • L'ID del gruppo.
  • Il percorso della directory home dell'account utente.
  • La shell che si avvia quando l'utente effettua il login.

Questo è dove il dito comando e il mignolo comando recupera le informazioni visualizzate.

IMPARENTATO: Come usare il comando finger in Linux

Il comando chfn

il chfn (cambiare le informazioni sulle dita) ti permette stabilire e modificare le informazioni memorizzate all'interno del campo GECOS. Le informazioni sono memorizzate come un elenco separato da virgole all'interno del campo.

il chfn Il comando era già presente in Ubuntu 18.04.1 e Manjaro 18.1.0. Doveva essere installato su Fedora 31. Usa questo comando per installarlo:

sudo dnf install util-linux-user

Vediamo cosa finger puoi conoscere il proprietario dell'account utente “dave”. Per ottenere il maggior numero di informazioni, useremo il -l (formato lungo) opzione:

dito dave -l

Questo è quello che è riuscito a trovare:

Recupera il nome utente dell'account, la directory home e la shell predefinita. Tutti questi sono correlati all'utente. fattura. Non si riferiscono alla persona reale che usa quell'account. Possiamo usare il chfn comando per salvare le informazioni sulla persona reale.

chfn dave

Usando chfn questo avvia una procedura breve e interattiva. Ti verrà chiesto di inserire un valore di dati per ogni informazione che il campo GECOS può contenere. Il valore corrente di ciascun valore dei dati è mostrato tra parentesi []. Se vuoi mantenere i dati aggiornati, puoi premere il tasto "Invio" e il valore verrà mantenuto tra parentesi.

Le informazioni che abbiamo inserito erano:

  • Numero di Camera: 512
  • Telefono del lavoro: 555-4567
  • Telefono di casa: 555-5432

Verifichiamo che finger raccogliere quelle nuove informazioni:

dito dave -l

sì, lo fa?. Ma potresti aver notato che non hai richiesto di cambiare il nome completo. Lo farà solo se usi sudo. Ma non dobbiamo passare attraverso tutto chfn sessione di nuovo, solo perché ci siamo dimenticati di usare sudo. Possiamo modificare uno qualsiasi dei valori dei dati individualmente.

Modificare i valori dei dati individuali

Possiamo determinare il nome completo per il proprietario dell'account utente utilizzando il -f (nome e cognome) opzione, Insieme a sudo.

sudo chfn -f "Dave McKay" dave

E se controlliamo ancora una volta con finger:

Possiamo vedere che il nome completo è stato aggiunto.

Ci sono altre opzioni per cambiare il numero della stanza, numero di telefono di casa e numero di telefono del lavoro. Per cambiare il numero della camera (ufficio), Utilizzare il -r (numero di Camera) opzione:

sudo chfn -r 633 dave

Nota che in alcune distribuzioni, puoi usare il -o (numero della stanza dell'ufficio) invece di -r opzione. Maggiori informazioni su questo a breve. Per adesso, per vedere le alternative per la tua versione di chfn, utilizzo:

uomo chfn

Per cambiare il numero di telefono dell'ufficio, Utilizzare il -w (Telefono del lavoro) opzione:

sudo chfn -w 555-1122 dave

E in breve, per cambiare il numero di telefono di casa utilizzare il -h (numero di telefono fisso) opzione:

sudo chfn -h 555-6576 dave

Usiamo finger di nuovo per vedere se tutte quelle modifiche sono state accettate:

dito dave -l

Successo. Tutti quei comandi hanno funzionato e i valori dei dati sono stati aggiornati.

Utilizzo di chfn su altri account utente

Tanto da cambiare le nostre informazioni, Che ne dici di modificare le informazioni GECOS per altri utenti?? È altrettanto facile. Devi usare sudo quando lo fa, ma questa è l'unica differenza. Vediamo quali dati sono configurati per l'account utente mary:

dito maria -l

Informazioni predefinite frequenti sono impostate per questo account utente. Aggiungiamo ai dati:

sudo chfn mary

Faremo la stessa sessione che abbiamo fatto prima, e ci verrà chiesto un valore di dati per ogni informazione che può essere memorizzata. E perché usiamo sudo , ci viene chiesto il valore dei dati del nome completo.

Apetta un minuto, Qual è l'ultimo elemento?, chiamato “Altro”?

non compatibile con tutte le versioni di chfn, e lo vedi solo se lo usi sudo, ecco perché non l'abbiamo visto prima di quando (deliberatamente) Non usiamo sudo insieme a:

chfn dave

valore dei dati “Altro” può contenere tutto ciò che vuoi. Non ha un uso prescritto o previsto.

Versioni di chfn chi sostiene il campo “Altro” Forniscono anche il -o (Altro) opzione per modificare direttamente questo valore. È a causa del conflitto tra -o per “numero dell'ufficio” e -o per “Altro” utilizzato da alcuni sistemi -r per “numero di Camera”.

Possiamo vedere i dati memorizzati per l'account utente mary nel /etc/paswd file, usando less:

less /etc/passwd

Sui sistemi che lo supportano (vedere il man pagina per la tua versione di chfn ) può determinare il campo “Altro” direttamente utilizzando il -o (Un'altra alternativa:

sudo chfn -o "Libero professionista HTG" dave

E possiamo verificare i dati dell'account utente Dave utilizzando il less comando:

less /etc/passwd

meno / eccetera / P <span data-mce-type =[asswd in una finestra di terminale” width=”646″ height=”382″ />

Ciò solleva una domanda ovvia. Se la tua versione di chfn non supporta il campo "Altro", come si cambia?? Possiamo farlo con il usermod comando.

Il comando usermod

Il usermod comando ti permette di modificare aspetti di un account utente attraverso azioni come l'aggiunta o la rimozione dell'account utente dai gruppi, e cambiando la loro shell predefinita. Può anche essere utilizzato per manipolare direttamente il campo GECOS.

Diamo un'occhiata più da vicino alla linea nel /etc/passwd file per l'account utente mary. Useremo grep per isolare quella linea per noi. Funzionerà perché i nomi utente devono essere univoci. Può esserci un solo account utente chiamato mary.

grep mary /etc/passwd

I campi in etc/passwd i file vengono visualizzati. I due punti”:” è usato come separatore di campo. da sinistra a destra, i campi sono:

  • Il nome utente dell'account.
  • Una "x" che indica la password per questo account utente è tenuta crittografata nel /etc/shadow file.
  • L'ID utente per l'account utente mary.
  • L'ID di gruppo per l'account utente mary.
  • Il campo GECOS.
  • Il percorso della directory home per l'account utente mary.
  • La shell che viene avviata quando il proprietario dell'account mary effettua l'accesso.

A comma “,” viene utilizzato come separatore per i valori dei dati all'interno del campo GECOS. I valori all'interno del campo GECOS sono, da sinistra a destra:

  • Nome e cognome.
  • Camera (o ufficio) numero.
  • Numero di telefono dell'ufficio.
  • Numero di telefono di casa.
  • Altre informazioni.

Nota che il usermod comando imposta l'intero campo GECOS sul nuovo valore fornito. Se tutto ciò che fornisci è il nome completo della persona, allora l'unica cosa nel campo GECOS sarà il nome completo. Ciò significa che devi fornire tutti i valori dei dati esistenti che desideri conservare.

Ecco un esempio. L'utente Mary è stato promosso, e lei si trasferirà al quarto piano. Sta ottenendo un nuovo numero di ufficio, un nuovo numero di telefono di lavoro, e aggiungeremo il suo secondo nome. Anche il valore del suo campo "Altro" cambierà. Anche se il suo numero di telefono di casa non cambierà, dobbiamo fornirlo nella stringa to usermod.

Dobbiamo usare il -c (commento) opzione e dobbiamo eseguire il comando con sudo.

sudo usermod -c "Mary Carol Quinn,405,5559654,555-7704,L'avvocato di Linux" Maria

Usando grep riferire sui contenuti del /etc/passwd file per maria, ci mostra che i nuovi valori sono stati aggiunti.

grep mary /etc/passwd

IMPARENTATO: Aggiungi un utente a un gruppo (o Secondo Gruppo) su Linux

Tutto è Flusso, Niente rimane

I dati imprecisi sono inutili. Quando le informazioni sulle persone cambiano, l'ufficio si sposta, cambi di nome, titoli dei ruoli: puoi facilmente aggiornare i loro metadati per riflettere la posizione attuale.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.