La gestió d'usuaris i grups és una part fonamental de l'administració de sistemes Linux. Permet controlar qui pot accedir al sistema i quins permisos tenen. En aquesta secció, aprendrem com crear, modificar i eliminar usuaris i grups, així com gestionar els seus permisos.
Conceptes Clau
- Usuari: Un compte que pot iniciar sessió en el sistema.
- Grup: Una col·lecció d'usuaris que comparteixen permisos comuns.
- UID (User ID): Un identificador únic per a cada usuari.
- GID (Group ID): Un identificador únic per a cada grup.
- /etc/passwd: Fitxer que conté informació sobre els usuaris.
- /etc/group: Fitxer que conté informació sobre els grups.
- /etc/shadow: Fitxer que conté les contrasenyes encriptades dels usuaris.
Comandes Bàsiques
Creació d'Usuaris
Per crear un nou usuari, utilitzem la comanda useradd
. Per exemple:
-m
: Crea el directori home per a l'usuari.-s
: Defineix la shell per defecte per a l'usuari.
Establir Contrasenya
Després de crear un usuari, hem d'establir una contrasenya amb la comanda passwd
:
Modificació d'Usuaris
Per modificar un usuari existent, utilitzem la comanda usermod
. Per exemple, per canviar la shell d'un usuari:
Eliminació d'Usuaris
Per eliminar un usuari, utilitzem la comanda userdel
. Per exemple:
-r
: Elimina el directori home de l'usuari.
Creació de Grups
Per crear un nou grup, utilitzem la comanda groupadd
. Per exemple:
Afegir Usuaris a Grups
Per afegir un usuari a un grup, utilitzem la comanda usermod
amb l'opció -aG
. Per exemple:
Visualització d'Usuaris i Grups
Per veure la informació dels usuaris i grups, podem utilitzar les següents comandes:
- Llistar usuaris:
cat /etc/passwd
- Llistar grups:
cat /etc/group
- Llistar grups d'un usuari:
groups nou_usuari
Exemples Pràctics
Exemple 1: Creació d'un Usuari i Assignació a un Grup
-
Crear un usuari anomenat
jordi
amb un directori home i la shell bash:sudo useradd -m -s /bin/bash jordi
-
Establir una contrasenya per a l'usuari
jordi
:sudo passwd jordi
-
Crear un grup anomenat
desenvolupadors
:sudo groupadd desenvolupadors
-
Afegir l'usuari
jordi
al grupdesenvolupadors
:sudo usermod -aG desenvolupadors jordi
Exemple 2: Modificació d'un Usuari
-
Canviar la shell de l'usuari
jordi
azsh
:sudo usermod -s /bin/zsh jordi
Exemple 3: Eliminació d'un Usuari
-
Eliminar l'usuari
jordi
i el seu directori home:sudo userdel -r jordi
Exercicis Pràctics
Exercici 1: Creació i Gestió d'Usuaris i Grups
- Crea un usuari anomenat
anna
amb un directori home i la shell bash. - Estableix una contrasenya per a l'usuari
anna
. - Crea un grup anomenat
projecte
. - Afegeix l'usuari
anna
al grupprojecte
. - Canvia la shell de l'usuari
anna
azsh
. - Elimina l'usuari
anna
i el seu directori home.
Solució
sudo useradd -m -s /bin/bash anna sudo passwd anna sudo groupadd projecte sudo usermod -aG projecte anna sudo usermod -s /bin/zsh anna sudo userdel -r anna
Errors Comuns i Consells
- Error: "useradd: user 'nom_usuari' already exists": Això significa que l'usuari ja existeix. Utilitza un nom d'usuari diferent.
- Error: "groupadd: group 'nom_grup' already exists": Això significa que el grup ja existeix. Utilitza un nom de grup diferent.
- Consell: Sempre comprova els fitxers
/etc/passwd
,/etc/group
i/etc/shadow
per assegurar-te que els canvis s'han aplicat correctament.
Conclusió
En aquesta secció, hem après com gestionar usuaris i grups en Linux. Hem vist com crear, modificar i eliminar usuaris i grups, així com assignar permisos. Aquestes habilitats són essencials per a l'administració de sistemes Linux i asseguren que només els usuaris autoritzats tinguin accés als recursos del sistema.
Domini de Linux: De Principiant a Avançat
Mòdul 1: Introducció a Linux
- Què és Linux?
- Història de Linux
- Distribucions de Linux
- Instal·lant Linux
- Estructura del Sistema de Fitxers de Linux
Mòdul 2: Comandes Bàsiques de Linux
- Introducció a la Línia de Comandes
- Navegant pel Sistema de Fitxers
- Operacions amb Fitxers i Directoris
- Visualització i Edició de Fitxers
- Permisos i Propietat dels Fitxers
Mòdul 3: Habilitats Avançades de la Línia de Comandes
- Ús de Comodins i Expressions Regulars
- Piping i Redirecció
- Gestió de Processos
- Programació de Tasques amb Cron
- Comandes de Xarxa
Mòdul 4: Scripting de Shell
- Introducció al Scripting de Shell
- Variables i Tipus de Dades
- Estructures de Control
- Funcions i Biblioteques
- Depuració i Gestió d'Errors
Mòdul 5: Administració del Sistema
- Gestió d'Usuaris i Grups
- Gestió de Discs
- Gestió de Paquets
- Monitorització del Sistema i Optimització del Rendiment
- Còpia de Seguretat i Restauració
Mòdul 6: Xarxes i Seguretat
- Configuració de Xarxa
- Tallafocs i Seguretat
- SSH i Accés Remot
- Sistemes de Detecció d'Intrusions
- Assegurant Sistemes Linux
Mòdul 7: Temes Avançats
- Virtualització amb Linux
- Contenidors de Linux i Docker
- Automatització amb Ansible
- Optimització del Nucli de Linux
- Alta Disponibilitat i Balanceig de Càrrega