GNU/Linux >> Linux Esercitazione >  >> Linux

Nozioni di base sull'amministratore di sistema Linux:gestione dell'account utente con UID e GID

Come molte attività e doveri di amministratore di sistema, la gestione dell'account utente non è solo una cosa, né esiste nel vuoto. La gestione dell'account utente è un aspetto del lavoro continuo e presenta molte sfaccettature:creazione dell'account, rimozione dell'account, manipolazione delle autorizzazioni, account in scadenza, definizione di standard di password, applicazione della sicurezza, applicazione delle modifiche della password e manipolazione di UID e GID per mantenere un sistema organizzato e sopportabile. La prima parte si è concentrata sui comandi utili. Questo articolo corrente si occupa della gestione degli ID utente (UID) e degli ID gruppo (GID).

Introduzione a UID e GID

Per impostazione predefinita, i sistemi Linux assegnano automaticamente UID e GID ai nuovi account utente in ordine numerico a partire da 1000. In altre parole, se si crea un nuovo account utente durante l'installazione, avrà UID =1000 e GID =1000, come mostrato di seguito:

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash

La teoria alla base di questa assegnazione arbitraria è che qualsiasi valore inferiore a 1000 sia riservato per account di sistema, servizi e altri account speciali e che gli UID e i GID utente regolari rimangano superiori a 1000. Questa teoria si basa sul presupposto che 999 numeri di conto meno alcuni pre- quelli assegnati saranno più che sufficienti per soddisfare la maggior parte dei sistemi per molti anni. In qualità di amministratore Linux da oltre 20 anni, non ho mai esaurito personalmente quei primi 999 numeri di account di sistema.

L'account root ha il fantastico privilegio di avere UID =0 e GID =0. Questi numeri sono ciò che conferisce all'account root il suo potere schiacciante. Se non mi credi, rinomina l'account root in goonygoogoo o qualunque cosa tu scelga, quindi crea un nuovo account utente denominato root , consentendo al sistema di assegnargli il successivo UID e GID disponibile. Questo account non ha più potere di qualsiasi altro account utente sul sistema. Non è il nome, ma l'UID e il GID che danno potere all'account dell'amministrazione. Per verificare ulteriormente questa affermazione, assegna un account utente di prova con 0 per UID e GID e quell'utente è ora root, indipendentemente dal nome dell'account.

Come puoi vedere dall'elenco seguente, agli account utente (come indicato in precedenza) vengono assegnati UID e GID in ordine numerico da 1000. L'UID e il GID corrispondono sempre per mantenere le cose organizzate:

khess:x:1000:1000:Ken Hess:/home/khess:/bin/bash
msmith:x:1001:1001::/home/msmith:/bin/bash
mjones:x:1003:1003:Mary Jones:/home/mjones:/bin/bash
jjones:x:1004:1004:John Jones:/home/jjones:/bin/bash
djones:x:1005:1005:Don Jones:/home/djones:/bin/bash

Non c'è magia in questa configurazione. Il sistema lo fa. Non devo preoccuparmene.

Ma cosa succede se le tue politiche sono diverse per quanto riguarda le informazioni sugli utenti e sui gruppi? È possibile che la tua azienda desideri che UID e GID vengano assegnati in base all'ID dipendente o a qualche altro identificatore univoco (si spera che non il numero di previdenza sociale, anche se ho visto questo numero utilizzato nella pratica). Oppure, cosa succede se desideri assegnare GID specifici in base ai ruoli anziché aggiungere utenti a un GID in /etc/group ? Bene, è abbastanza facile fare tutto questo con useradd comando dal mio precedente articolo su questo argomento, che trattava le nozioni di base sulla gestione dell'account utente.

Quello che segue è l'elenco degli utenti da /etc/group :

khess:x:1000:
msmith:x:1001:
mjones:x:1003:
jjones:x:1004:
djones:x:1005:

Personalizzazione di UID e GID

Tradizionalmente, gli amministratori che desiderano aggiungere un utente a gruppi non principali lo fanno al momento della creazione dell'account, utilizzando useradd strumento con il -G interruttore. Assicurati di elencare tutti i gruppi secondari dopo il -G interruttore, separato da virgole senza spazi. Il comando seguente consente al sistema di selezionare l'UID e il GID primario dal numero successivo disponibile ma aggiunge l'utente jdoe all'sysadmin e helpdesk gruppi:

$ sudo useradd -G sysadmin,helpdesk jdoe

Se vuoi specificare il gruppo principale con -g switch, il gruppo deve già esistere. Ad esempio, se inserisci il seguente comando:

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Verrà visualizzato l'errore "useradd:il gruppo '10600' non esiste" e il sistema non creerà l'account. Se devi specificare il gruppo, aggiungi prima il gruppo:

$ groupadd 10600

$ sudo useradd -u 10600 -g 10600 -G sysadmin,helpdesk jdoe

Gestione delle autorizzazioni di gruppo

Quando gli utenti creano file, il proprietario dell'utente ottiene le autorizzazioni di lettura (r) e di scrittura (w), il gruppo ottiene l'autorizzazione di lettura e gli altri ottengono l'autorizzazione di lettura (rw-r--r--) o, in termini numerici, 644. Il l'autorizzazione di esecuzione (x) non è fornita per impostazione predefinita. Pertanto, in qualità di amministratore di sistema, se un membro del gruppo richiede l'autorizzazione all'esecuzione da inserire su un file o un gruppo di file, concedere l'autorizzazione all'esecuzione solo per il gruppo:

$ sudo chmod g+x coolscript.sh

L'utente può modificare l'autorizzazione se è il proprietario dell'utente, ma spesso non lo fa per paura di farlo in modo errato. Solo il proprietario dell'utente o l'utente root può modificare le autorizzazioni su un file anche se il gruppo dispone dell'autorizzazione di scrittura sul file. L'autorizzazione in scrittura significa che un membro del gruppo può modificare o eliminare il file.

Assicurati che le directory di gruppo condivise abbiano accesso in scrittura (autorizzazione) per il gruppo e che anche i file che devono essere modificati dai membri del gruppo abbiano accesso in scrittura. Alcuni di voi che hanno una conoscenza più avanzata delle autorizzazioni probabilmente stanno chiedendo perché non menziono il chattr (cambia attributi), ed è una domanda valida. Il chattr comando non rientra nell'ambito di questo articolo ma sarà trattato in un articolo successivo incentrato esclusivamente su chattr e le sue numerose opzioni.

Conclusione

Questo articolo fornisce una breve copertura degli attributi UID e GID e come manipolarli se necessario. Ho anche parlato un po' delle autorizzazioni di gruppo. In un prossimo articolo tratterò il chattr comando che offre opzioni per impedire l'eliminazione accidentale da parte dei membri del gruppo. Se vuoi leggere avanti, fallo con cautela. Il chattr command può essere frustrante per i nuovi amministratori che non hanno familiarità con la sua sintassi e le conseguenze delle opzioni.

[Vuoi provare Red Hat Enterprise Linux? Scaricalo ora gratuitamente. ]


Linux
  1. Gestione pacchetti Linux con apt

  2. 11 modi per trovare informazioni sull'account utente e dettagli di accesso in Linux

  3. Monitoraggio dello stato dell'utente e dell'attività in Linux con GNU acct

  4. Laboratorio Linux:SysAdmin 101

  5. Come lavorare con utenti e gruppi in Linux

Gestione dei pacchetti Linux con dnf

Una guida per l'amministratore di sistema alla gestione della rete

Iniziare con GIT su Linux

Nozioni di base sull'amministratore di sistema Linux:avvia NIC all'avvio

Gestione dei pacchetti Linux con YUM e RPM

Nozioni di base sulla riga di comando di Linux:lavorare con file e directory