dimarts, 26 d’octubre del 2021

Gestió d'usuaris i grups en Linux

Usuaris i grups Linux 


Els comptes de Linux són com els comptes de Windows o MacOS; però els detalls no, així que cal explicar alguns detalls, com les convencions de nomenclatura d'usuaris, la naturalesa dels grups i com associa Linux els nombres que utilitza internament amb els noms d'usuari i noms de grup que la gent sol utilitzar.


En aquest article veiem com es gestionen els comptes d'usuari i de grup d'usuaris Linux usant comandaments, concretament veurem:

  • Fitxers /etc/passwd, /etc/group, /etc/shadow
  • Identificadors UID i GID
  • Comandaments:
    • chown
    • chgrp
    • newgrp
    • useradd
    • passwd
    • chage
    • userdel
    • groupadd
    • groupmod
    • usermod
    • gpasswd
    • groupdel



Els noms d'usuaris de Linux

Linux és bastant flexible en els noms d'usuari, en la majoria de distribucions poden estar construïts amb qualsevol combinació de lletres majúscules i minúscules, nombres i molts símbols de puntuació, incloent punts i espais; no obstant això, els espais i alguns altres elements causen problemes en determinades utilitats de Linux, per la qual cosa és preferible evitar-los. Els punts i els guions baixos poden utilitzar-se, doncs no causen problemes.

Els noms d'usuari poden tenir fins a 32 caràcters. A causa que Linux distingeix entre majúscules i minúscules, el mateix ordinador pot tenir dos usuaris diferents anomenats ellen i Ellen, que pot resultar confús, per la qual cosa és millor evitar crear comptes els noms dels quals d'usuari es diferenciïn solament en aquest detall; l'habitual és usar lletres minúscules. Els noms d'usuari no tenen per què estar basats en noms de pila.

Establir un mètode estàndard per crear noms d'usuari pot ajudar a localitzar un compte que pertanyi a un individu concret. No obstant això, si l'ordinador té molts usuaris, pot ser que algunes convencions de nomenclatura produeixin duplicats, en particular si l'estàndard que hem creat empra les inicials per tallar els noms d'usuari. Pot ser que hàgim de desviar-nos de l'estàndard o incorporar nombres per distingir els comptes d'usuari, ja que cada compte necessita un únic nom d'usuari.
Relacionar als usuaris mitjançant grups per millorar la productivitat.

Grups d'usuaris


Els grups d'usuaris són un mitjà per organitzar usuaris: estan definits en fitxers de configuració similars als dels usuaris, tenen noms similars als noms d'usuari i es representen internament mitjançant nombres.

Els grups no són comptes, sinó mitjans per organitzar col·leccions de comptes. Com a mesura de seguretat, Linux associa cada fitxer amb un grup específic, podent-se assignar diversos permisos als membres del grup. Com Linux proporciona accés a la majoria dels dispositius de maquinari a través de fitxers, podem utilitzar aquest mateix mecanisme per controlar l'accés al maquinari.

Cada grup pot tenir des de cap usuari fins a punts com tingui l'ordinador. També, un usuari pot estar en més d'un grup, i com a mínim ha d'estar en un grup. La pertinença als grups es controla mitjançant el fitxer /etc/group que conté una llista de grups i els membres que pertanyen a cadascun d'ells. Cada usuari posseeix un grup per defecte o primari, que es defineix en la configuració de l'usuari del fitxer /etc/passwd. Quan els usuaris creen fitxers o inicien programes, aquests fitxers i programes en execució s'associen amb el grup actual. Un usuari pot accedir a fitxers que pertanyen a altres grups sempre que ell pertanyi també a aquest grup i que estigui permès pels permisos d'accés del grup.


Canviar de grup: comandament newgrp

Utilitzarem newgrp per canviar la pertinença del grup actual, per exemple, per canviar el nostre usuari al grup project escriurem:

newgrp project

Si l'usuari ja pertany al grup project (i figura al  /etc/group) llavors després d'executar el comandament actuarem com a membre del grup project des del grup actual. Si l'usuari no hi pertany al nou grup, el sistema li demanarà contrasenya de root per afegir-lo.

Canviar un fitxer de grup i de propietari: comandaments chgrp i chown

Tots els fitxers gestionats pel sistema operatiu tenen assignat un usuari propietari i un grup d'usuaris propietari del fitxer. Podem canviar el grup associat amb un fitxer existent amb els comandos chgrp i chown. Per exemple, per canviar el grup al que pertany un fitxer anomenat dades al grup projecte:

chgrp projecte dades

En general:
chgpr grup fitxer

El comandament chown permet canviar el propietari del fitxer i també el seu grup; la sintaxi és:

chown [options] new_owner object(s)

Exemple:

chown user_pepe dades

Per canviar també al grup projecte:

chown user_pepe:projecte dades

si el grup de user_pepe és projecte, llavors no cal escriure el nom del grup.


Aquesta estructura de grups permet dissenyar un sistema de seguretat amb diferents col·leccions d'usuaris per treballar fàcilment amb els mateixos fitxers mentre evitem que altres usuaris del mateix servidor mirin en els fitxers als quals no haurien de tenir accés. És habitual utilitzar els grups per a diferents projectes, classes o grups de treball, en els quals cada usuari aquest restringit a un d'aquests grups.

Identificadors UID i GID


Linux defineix els usuaris i grups per números: ID d'usuari (UID) i ID de grup (GID), i en els fitxers /etc/passwd o /etc/group es pot localitzar el nom associat al número. 

Es reserva el primer centenar d'ID d'usuari i de grup, del 0 al 99, per a l'ús del sistema. El zero correspon a root, tant a l'usuari com al grup,  els següents nombres els utilitzen els comptes i grups que estan associats amb utilitats i funcions específiques de Linux, per exemple, UID 2 i GID 2 poden ser el compte i el grup daemon (serveis del sistema) i UID 8 i GID 12 podrien ser el compte i el grup de mail. No tots els nombres del 0 al 99 estan en ús, en general només una o dues dotzenes de comptes i una desena de grups. Podem consultar els fitxers /etc/passwd i /etc/group per determinar quins ID d'usuari i grup s'estan utilitzant.

Exemple: llistat de les 10 primeres línies del fitxer, els nombres en negreta són els UID 
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin


La informació d'aquest fitxer és esquemàticament:




Exemple:
$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,jordi
tty:x:5:syslog
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:


Més enllà del nombre ID = 100 les ID d'usuari i grup estan disponibles per als comptes d'usuari i grup normals. En crear comptes addicionals, el sistema localitza el següent nombre al més alt sense utilitzar. 

Quan eliminem un compte l'ID, es podrà reutilitzar, però les eines de creació automàtica de comptes no ho fan si els números subsegüents estan en ús, el que crea un salt en la seqüència. Això no és perjudicial tret que ens quedem sense números per a les ID (65536 usuaris per nuclis de 16 bits, els nuclis de 32 arriben a 4 mil milions d'usuaris). 

Reutilitzar un nombre d'ID pot provocar problemes si no eliminem els fitxers de l'antic usuari, ja que el nou usuari esdevindrà el propietari d'ells.

Configurar comptes d'usuari


En els petits equips personals no cal fer el manteniment dels usuaris, però, en els grans sistemes, on els usuaris van i vénen constantment, és possible que sigui necessari realitzar un manteniment diari. Per a això, cal conèixer les eines de configuració de comptes. Fins i tot en sistemes que canvien molt de tant en tant, és útil saber afegir, modificar o eliminar comptes d'usuari quan calgui.

Descriurem les eines de tipus comandament per a la creació i el manteniment dels comptes, tot i que la majoria de distribucions tenen eines GUI amb les mateixes funcionalitats que varien segons la distribució o l'entorn. Les eines de tipus comandament proporcionen la major flexibilitat i es poden aplicar a més llocs.

Afegir usuaris: useradd


Els usuaris es poden afegir amb la utilitat useradd. La seva sintaxi és la següent :

useradd [ -c comentari ] [ -d dir -home ] [ - i data - expiració ] [ - f dies- inactiu ] [ - g grup grup_principal ] [- G grup [ altres grups... ] ] [ - m [ - k dir - esquelet ] | -M ] [- p contrasenya ] [ -s consola ] [- o UID [- o ] ] [ -r ] [- n] nom-usuari


En la seva forma més simple , es pot escriure només useradd nom-usuari , on nom-usuari és el nom d'usuari que volem crear . La resta dels paràmetres s'utilitzen per modificar els valors per defecte del sistema , que s'emmagatzemen en el fitxer /etc/login.defs . Els paràmetres de useradd modifiquen la comanda de diverses maneres:

  • Comentari : -c comentari és el camp de comentari de l'usuari . S'hi sol guardar informació pública , com el nombre de telèfon de l'usuari . No és obligatori registrar informació en aquest paràmetre .
  • Directori home : -d permet especificar el directori home del compte . El valor per defecte sol ser / home / nom -usuari .
  • Data d'expiració del compte : - i ens permet indicar la data en què es desactivarà el compte . El format és YYYY - MM - DD , encara que hi ha sistemes que accepten la forma MM - DD - YYYY . Per defecte , els comptes no expiren .
  • Dies inactius : un compte es desactiva completament un determinat nombre de dies després d'expirar una contrasenya. - f defineix aquest nombre de dies . El valor per defecte és -1 , que desactiva aquesta funcionalitat .
  • Grup per defecte : - g permet definir la GID o el nom del grup per defecte de l'usuari .
  • Grups addicionals : - G permet definir els noms o GID d'un o diversos grups als quals pertany l'usuari, no tenen per que ser el grup per defecte i podem especificar més d'un separant-los per comes .
  • Opcions del directori home : si especifiquem -m , es crea automàticament el directori home de l'usuari. Els fitxers de configuració per defecte es copien de /etc/skel , encara que podem especificar un altre directori plantilla amb l'opció -k . Diverses distribucions Linux utilitzen -m sempre .
  • No crear directori home : -M força al sistema a no crear un directori home automàticament , fins i tot si està especificat com a acció per defecte a /etc/login.defs .
  •  Encriptació de contrasenyes : amb - p podrem passar al sistema la contrasenya de l'usuari pre - encriptada . Aquest valor s'afegeix al fitxer / etc / passwd o / etc / shadow sense modificar , per la qual cosa , si escrivim una contrasenya sense xifrar , probablement no funcionarà com esperem . Aquest paràmetre és útil en els programes de automatitizació de tasques del sistema (scripts) , on podem xifrar una contrasenya ( utilitzant crypt per exemple) i després enviar el resultat a través de useradd . El valor per defecte desactiva el compte , pel que haurem d'executar passwd per canviar la contrasenya de l'usuari .
  • Consola per defecte : -s permet especificar la consola d'accés per defecte . La consola per defecte sol ser / bin / bash , encara que podem especificar una altra consola o un programa que no sigui una consola.
  • UID : - o  crea un compte amb el valor de UID de l' usuari especificat , el valor UID ha de ser un enter positiu , normalment més de 500 per als comptes d'usuari i nombres menors de 100 per als comptes del sistema . El nombre es pot reutilitzar i podem associar dos noms d'usuari a una UID .
  • Creació d'un compte del sistema : -r especifica la creació d'un compte del sistema , és a dir , un compte amb valor inferior a UID_MIN , segons el definit a / etc / login.defs ( sol ser 100 , 500 o 1000 ) . El comandament useradd no crea un directori home per als comptes del sistema .
  • No crear el grup de l'usuari: les distribucions solen crear un grup amb el mateix nom que el nom d'usuari, - n desactiva aquest comportament .

Exemple:
. Volem crear un compte per a un usuari anomenat pedro tal que tingui el seu directori personal dintre de /home/pere, a més volem que el nou usuari sigui membre dels grups project1, project2 i project3 tenint project2 com a grup principal:

sudo useradd -d /home/pere -g project2 -G project1,project3  pedro

Aquest usuari nou encara no té contrasenya.

Definir una contrasenya

El paràmetre - p de useradd que permet definir una contrasenya no és molt útil quan s'afegeix un usuari , ja que la demana preencriptada . És més fàcil crear un compte sense utilitzar - p (de forma desactivada ) i definir la contrasenya després de crear el compte amb la comanda passwd , que té la següent sintaxi :

passwd [ - k ] [ -l ] [ - o [- f ] ] [ -d ] [- S ] [ nom -usuari ]

Els paràmetres d'aquesta comanda permeten modificar el seu comportament de les maneres següents:

  •  Actualitzar els comptes expirades : - k indica que el sistema hauria actualitzar un compte expirada .
  •  Bloquejar comptes : -l bloqueja un compte anteposant un signe d'admiració ( ! ) A la contrasenya encriptada . Com a resultat , l'usuari no pot accedir al compte , tot i que els fitxers segueixen disponibles i el canvi es pot desfer fàcilment . És un paràmetre útil quan volem suspendre temporalment l'accés de l'usuari a un compte .
  • Desbloquejar comptes : - o desbloqueja un compte eliminant el signe d'exclamació que precedeix a la contrasenya encriptada . useradd crea comptes bloquejats sense contrasenya , si utilitzem aquesta comanda en un compte nou , obtindrem un compte sense contrasenya . Normalment passwd retorna un error quan intentem això , l'opció - f obliga passwd a convertir la compte en una sense contrasenya .
  • Esborrar la contrasenya d'un compte : -d esborra la contrasenya d'un compte .
  • Mostra la informació del compte : - S mostra la informació de la contrasenya d'un compte.

Un usuari normal utilitza passwd per canviar les seva contrasenya, però molts dels seus paràmetres són només accessibles des de l'usuari root (concretament -l,-o,-fy-d). Només root pot especificar un nom d'usuari a passwd, els usuaris normals han d'ometre el nom d'usuari a executar-lo.


 Exemple: a l'usuari pedro li creem contrasenya amb el comandament passwd:

passwd pedro
Changing password for user pedro
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully

passwd sol licita dues vegades la contrasenya, però no mostra el que escrivim. D'aquesta manera evitem que algú que vegi la nostra pantalla pugui llegir la contrasenya. La contrasenya s'encripta amb un algoritme d'encriptació (anomenat funció hash) i algun mètode d'encriptació, depenent de la distribució; alguns són:


$1$=MD5 (22 caracteres)

$2$=blowfish

$5$=SHA-256 (43 Caracteres)

$6$=SHA-512 (86 Caracteres)


Després es guarda la encriptació en el fitxer /etc/shadow:



Modificar usuaris: usermod

usermod és similar a useradd , però modifica un compte existent en lloc de crear un de nou;  canvia el contingut de /etc/passwd  i/ o /etc/shadow. Algunes diferències:

  • permet l'ús del paràmetre -m quan s'utilitza amb -d
  •   -d, per si sol , canvia el directori home de l'usuari però no mou cap fitxer, si li afegim -m , usermod mourà els fitxers de l'usuari al nou lloc.
  • permet canviar el nom d' accés de l'usuari pel valor especificat amb el paràmetre -l .
  • -L i -U permeten bloquejar i desbloquejar la contrasenya d'un usuari. Això també és pot fer amb el comandament passwd .
  • Si usem l'opció- G per afegir l'usuari a un grup, es treu a l'usuari de la resta de grups en els que hi era inclòs el grup per defecte de l'usuari!

Caducitat de comptes: chage

chage permet modificar els paràmetres relacionats amb l'expiració dels comptes . A Linux , els comptes es poden configurar per que expirin automàticament en complir qualsevol d'aquestes condicions :

    1. La contrasenya no ha canviat en un període de temps específic .

    2. La data del sistema ha sobrepassat un temps predeterminat.

Aquests paràmetres es controlen amb chage , que té la següent sintaxi :


chage [ -l ] [- m mindias ] [ -M maxdias ] [ -d ultimodia ] [- I diasinactivo ] [- E fechaexpiración ] [- W diasaviso ] nom_usuari


Els paràmetres del programa que modifiquen les accions de la comanda són:


  • Mostrar informació : -l mostra informació del període d'expiració del compte i la contrasenya d'un usuari concret .
  • Definir el temps mínim entre canvis de contrasenya: -m mindias defineix el nombre mínim de dies entre canvis de contrasenya. El valor zero ( 0 ) permet a l'usuari una contrasenya diverses vegades al dia , un ( 1) que pot canviar un cop al dia , dos (2 ) permet canviar un cop cada dos dies i així successivament .
  • Definir el temps màxim entre canvis de contrasenya: -M maxdias defineix el nombre màxim de dies que poden passar entre canvis de contrasenya, per exemple , 30 requereix que es canviï la contrasenya aproximadament un cop al mes , si l'usuari canvia la contrasenya abans de la data límit, el comptador es reinicializará amb la data de canvi de contrasenya.
  • Definir la data de l'últim canvi de contrasenya: -d ultimodía defineix l'últim dia que es canvi una contrasenya. Aquest valor el sol mantenir Linux , però podem manipular per alterar el comptador de canvis de contrasenya. ultimodía utilitza el format YYYY / MM / DD des l'1 de gener de 1970.
  • Definir el màxim de dies inactiu : -I díasinactivo defineix el nombre de dies entre l'expiració de la contrasenya i la desactivació del compte . Els comptes expirades poden no utilitzar o poden obligar l'usuari a canviar la contrasenya després d'accedir . Un compte desactivada , ho està completament .
  • Definir la data d'expiració : - E fechaexpiración permet definir una data d'expiració absoluta . Utilitza el format YYYY / MM / DD o el nombre de dies des l'1 de gener de 1970. -1 (Menys un) indica l'absència de data d'expiració .
  • Definir el nombre de dies d'avís: - W diasaviso permet indicar el nombre de dies previs a l'expiració en què el sistema avisarà a l'usuari de l'expiració imminent del compte , una opció recomanable quan s'utilitzen intensivament les expiracions en relació als canvis de contrasenya. També hem de tenir en compte que aquests avisos només es mostren als usuaris que accedeixen en mode text i no als que accedeixen per GUI , els que comparteixen fitxers i altres.


Només root pot utilitzar la comanda chage , però si només amb l'opció -l , qualsevol usuari normal pot consultar la informació d'expiració del seu compte.

Exemple
chage -l jordi
Últim canvi de contrasenya                              : de juny 17, 2021
La contrasenya caduca                                   : mai
Contrasenya inactiva                                    : mai
El compte caduca                                        : mai
Número mínim de dies entre canvis de contrasenya                : 0
Número màxim de dies entre canvis de contrasenya                : 99999
Número de dies d'avís abans que la contrasenya caduqui  : 7

Eliminar comptes: userdel

És una tasca fàcil elimina comptes i les seves entrades en / etc / passwd , i , si n'hi ha, de / etc / shadowuserdel només admet tres paràmetres :


  1. Esborrar fitxers d'usuari : - r --remove eliminen tots els fitxers de la cua de correu i directori home de l'usuari, així com el seu contingut . Si ometem -r preservarem els fitxers de l'usuari . 
  2. Forçar l'esborrat : -f --force esborrat d'un compte mentre l'usuari està actiu dins del sistema . També esborra la cua del correu , tot i que el propietari sigui un altre usuari , i força l'esborrat del directori home encara l'utilitzi un altre usuari .
  3. Obtenir ajuda : -h -- help resumeixen les opcions de userdel .

Exemple: Eliminar el compte de pedro i els seus correus i directori home :

sudo userdel -r pedro
[sudo] contrasenya per a jordi:  
userdel: pedro no s'ha trobat la cua de correu (/var/mail/pedro)
userdel: /home/pere no és propietat de pedro, no s'elimina

Veiem que l'usuari pedro tenia assignat com a directori home un del que no era propietari i per tant no s'eliminen els fitxers. Ho comprovem:

ls /home/pere -l -d
drwxr-xr-x 3 pereg pere 4096 d’oct.   26 12:10 /home/pere

Efectivament, el propietari és pereg.

Eliminació dels fitxers de l'usuari que no estan en el seu home

Quan eliminem un compte , haurem de recordar que sovint els usuaris creen fitxers fora del seu directori home. Per exemple hi ha programes que utilitzen / tmp com emmagatzematge temporal, lloc on poden trobar-se fitxers de l'usuari . Aquest directori s'esborra periòdicament de tant en tant i no resulta un problema, però , potser hi ha altres directoris on els usuaris hagin guardat fitxers . Per localitzar-los podem utilitzar la comanda find amb el paràmetre - uid o -user si encara no hem esborrat el compte . Per exemple, si pedro tenia la UID 529 , localitzarem tots els seus fitxers amb la següent comanda :

find / - uid 529

El resultat és una llista de fitxers el propietari dels quals és UID 529 . Ara podrem recórrer aquesta llista i fer alguna cosa amb aquests fitxers , ja que es podrien acabar assignant a un altre usuari diferent de pedro que torni a utilitzar la UID 529 , cosa que pot tenir conseqüències com l'excés de la quota de disc del nou usuari o la transmissió d'informació sensible al nou usuari.


Configurar grups

Les eines de configuració de grups s'assemblen a les de comptes d'usuari , encara que els grups no són comptes el que fa que les característiques d'aquestes eines siguin diferents. Podem crear o modificar grups editant els fitxers de configuració que tenen una estructura similar a la dels fitxers de control de comptes , encara que difereixen en els detalls .

Afegir grups: groupadd

La comanda groupadd afegeix nous grups , és similar a useradd , però amb menys opcions . La seva sintaxi és la següent :


groupadd [ - g GID [- o ] ] [ -r ] [- f ] nom_grup

Els paràmetres ajusten el funcionament de la següent manera :

  • Especificar un GID : - g GID permet utilitzar una GID específica . Si ometem aquest paràmetre , s'utilitzarà la següent GID disponible . El paràmetre - o invalida que no es pugui utilitzar una GID que ja estigui en ús , el que permet crear diversos grups que comparteixen una GID .
  • Crea un GID per sota de 500 : -r li indica a groupadd que creï un grup amb una GID per sota de 500, opció que no admeten totes les distribucions . Va ser incorporada per RedHat .
  • Forçar la creació: - f suprimeix el missatge d'error quan intentem crear un grup que ja existeix . No totes les versions de groupadd ho permeten .
Normalment els grups es creen sense especificar paràmetres , excepte el propi nom del grup. Exemple:

groupadd project

Aquesta comanda crea el grup project amb la GID que el sistema trobi convenient, normalment la més alta existent més un. Un cop creat podrem afegir usuaris al grup amb els paràmetres – g  i - G de la comanda useradd


Modificar la informació del grup

Podem modificar la informació del grup emprant utilitats o editant el fitxer / etc / group . Hi ha menys opcions per a modificar grups que per modificar comptes , encara que les seves utilitats i els seus fitxers de configuració són similars , de fet , usermod s'utilitza també per modificar grups .

Ús de groupmod i usermod

groupmod modifica els paràmetres d'un grup existent :


groupmod [ - g GID [- o ] ] [- n nombre_nuevo_grupo ] nombre_antiguo_grupo


Les opcions són les següents :


  • Especificar una GID : - g GID permet indicar una GID específica . Si la GID ja està en ús, groupmod retornarà un error. El paràmetre - o anul·la aquest comportament , permetent crear 2 grups o més que comparteixin la mateixa GID .
  • Especificar un nom de grup : especificarem un nou nom de grup amb l'opció - n nombre_nuevo_grupo .

Les manipulacions de grups més habituals no es controlen des groupmod , sinó des de usermod , que permet afegir un usuari a un grup amb el paràmetre - G

Exemple: definir pere com a membre dels grups users , project i project2 , i l'elimina de tots els altres grups on hi era:

usermod - G users , project , project2 pere


Per afegir a un usuari a altres grups a més dels que ja té, haurem d'assegurar-nos de llistar els grups actuals de l'usuari, ja que si ometem algun dels grups actuals , l'usuari serà eliminat d'ells . Una forma d'evitar l'omissió accidental d'un grup és modificar directament el fitxer / etc / group o utilitzar gpasswd . Ambdues opcions permeten afegir usuaris a nous grups sense haver d'especificar tots els grups als que pertanyen.

Modificar grups amb gpasswd

gpasswd és l'equivalent a passwd per als grups. Permet modificar característiques dels grups i assignar administradors als grups , que són usuaris que poden realitzar algunes funcions administratives pròpies dels grups. La seva sintaxi és la següent :


gpasswd [ - a usuari ] [ -d usuari ] [ -R ] [ -r ] [ -A usuari [ ... ] ] [- M usuari [ ... ] ] grup


 Les opcions són les següents :

    •     Afegir un usuari : - a usuari afegeix un usuari especificat al grup especificat .

    •     Esborrar un usuari : -d usuari elimina l'usuari especificat del grup especificat .

    •     Rebutjar incorporacions des newgrp : -R "tanca" el grup perquè no es permeti a ningú convertir-se en membre d'ell a través de newgrp .

    •     Esborrar la contrasenya : -r esborra la contrasenya d'un grup .

    •     Afegir administradors al grup : root pot emprar el paràmetre -A usuari [ ... ] per especificar els administradors del grup . L'administrador pot afegir i esborrar membres d'un grup a més de canviar la contrasenya. Aquest paràmetre sobreescriu la llista d'administradors, per la qual cosa haurem d'indicar tota la llista més el nou administrador que volem afegir quan vulguem que s'uneixi un nou administrador .

    • Afegir usuaris : -M usuari [ ... ] afegeix els usuaris especificats a la llista de membres del grup .


Si introduïm gpasswd només amb el nom del grup canviarem la contrasenya. La contrasenya permet controlar qui és membre d'un grup segons el assignat per newgrp . Si definim una contrasenya, fins i tot qui no sigui membre d'un grup es pot canviar a ell utilitzant newgrp. El grup ens sol·licitarà una contrasenya que farà que pertanyem temporalment a aquest grup. Aquestes funcionalitats no estan totalment implementades en totes les distribucions: en certs casos si algú no és membre d'un grup i introdueix la contrasenya el sistema pot respondre amb un missatge de " Accés Denegat ".

Eliminar grups: groupdel

Els grups s'eliminen amb la comanda groupdel , que només rep el nom del grup com a paràmetre . També podem eliminar un grup directament en el fitxer / etc / group , i / etc / gshadow si està present, esborrant la línia corresponent al grup . La millor solució és groupdel , ja que verifica si el grup és el grup primari d'algun usuari, en aquest cas haurem de canviar primer el grup primari de l'usuari o esborrar el seu compte. Igual que l'esborrat d'usuaris, l'esborrat de grups pot deixar fitxers orfes a l'ordinador que podrem localitzar amb la comanda find igual que amb els fitxers d'un usuari. 
Podem localitzar els fitxers d'un ordinador amb una GID determinada de la següent manera :

find / - gid 503

Aquesta comanda localitza tots els fitxers pertanyents al grup amb la GID 503 . Un cop localitzats els fitxers , haurem de decidir què fer amb ells perquè si es reutilitza l' GID, pot derivar en un risc per a la seguretat. El millor sol ser esborrar els fitxers o assignar-los a un altre grup amb les ordres chown o chgrp .












Gestió d'usuaris i grups en Linux

Usuaris i grups Linux  Els comptes de Linux són com els comptes de Windows o MacOS; però els detalls no, així que cal explicar alguns detall...