Creazione di utenti e gruppi, configurazione dei permessi di accesso, gestione dei processi
1. Obiettivo
Allora, abbiamo davanti un lavoro pratico intenso, dove potrai applicare tutte le conoscenze acquisite nelle lezioni precedenti. Creeremo utenti, li metteremo in gruppi, assegneremo permessi d'accesso unici e gestiremo processi nel sistema. E se pensi: "Ma perché mi serve tutto questo?", immagina di essere un amministratore di sistema o un ingegnere DevOps, e ti viene richiesto di configurare un server per il lavoro di squadra. Oppure semplicemente di salvare il tuo computer dal caos! Nel mondo reale, tali situazioni si verificano abbastanza spesso.
Il tuo obiettivo è configurare il sistema per i seguenti utenti e processi:
- Creare due utenti:
user1
euser2
. Dovranno collaborare insieme nel gruppodevelopers
. - Configurare un file (ad esempio,
project.txt
) in modo che solo i membri del gruppodevelopers
possano modificarlo. - Creare diversi processi (ad esempio, utilizzando il comando
sleep
) e imparare a terminarli se necessario. - Visualizzare i processi attivi per determinare quali consumano più risorse.
Sembra un piano? Realizziamolo passo dopo passo.
2. Passo 1: Creazione di utenti
1. Creiamo gli utenti
Per iniziare creiamo due utenti:
sudo adduser user1
sudo adduser user2
Quando esegui questi comandi, il sistema ti chiederà di impostare una password e inserire una descrizione per ogni utente. Qui non compileremo dati extra, puoi semplicemente premere Enter.
A ogni utente viene automaticamente creata una directory personale in /home
. Puoi verificarlo con:
ls /home
Se lavori localmente, non dimenticare di usare sudo
per ottenere i permessi di amministratore. E se sei in WSL, sii pronto al fatto che potrebbero esserci delle particolarità con gli utenti. Per esempio, in WSL l'utente di default è già un amministratore di sistema.
3. Passo 2: Creazione di un gruppo e aggiunta di utenti
1. Creiamo un gruppo
Per permettere agli utenti di collaborare sui progetti, li aggiungiamo a un gruppo. Per prima cosa creiamo il gruppo developers
:
sudo groupadd developers
2. Aggiungiamo utenti al gruppo
Ora aggiungiamo gli utenti user1
e user2
al gruppo developers
. Utilizziamo il comando usermod
per questo compito:
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. Controlliamo l'appartenenza al gruppo
Per assicurarci che gli utenti siano stati aggiunti correttamente al gruppo, eseguiamo:
groups user1
groups user2
Dovresti vedere che user1
e user2
sono membri del gruppo developers
.
4. Passaggio 3: Lavorare con file e permessi
1. Creiamo un file per il progetto
Creiamo un file project.txt
nella directory home di un utente (per esempio, user1
):
sudo -u user1 touch /home/user1/project.txt
Il comando sudo -u
ci permette di eseguire azioni a nome di un altro utente.
2. Cambiamo il proprietario e il gruppo del file
Impostiamo user1
come proprietario e developers
come gruppo, in modo che entrambi gli utenti abbiano lo stesso accesso:
sudo chown user1:developers /home/user1/project.txt
3. Configuriamo i permessi di accesso
Ora modifichiamo i permessi del file. Usiamo il comando chmod
:
sudo chmod 660 /home/user1/project.txt
Cosa abbiamo fatto? Abbiamo dato al proprietario user1
e al gruppo developers
i permessi di lettura e scrittura rw-
, mentre tutti gli altri non hanno alcun accesso.
Puoi controllare i permessi con il comando ls
:
ls -l /home/user1/project.txt
Risultato previsto:
-rw-rw---- 1 user1 developers 0 data ora /home/user1/project.txt
5. Passo 4: Avvio dei processi
1. Avviamo i processi
Per fare un esperimento, creiamo alcuni processi "a lunga durata" usando il comando sleep
:
sleep 300 &
sleep 400 &
sleep 500 &
Ogni comando sleep
viene avviato in background grazie al simbolo &
.
Per controllare la lista dei processi, usa il comando ps
:
ps
Puoi vedere più informazioni usando ps aux
:
ps aux | grep sleep
6. Passo 5: Terminazione dei processi
1. Terminiamo un processo usando il PID
Identifichiamo il PID di uno dei processi (ad esempio, sleep
) e lo terminiamo:
kill PID
Dove PID
è l'identificatore del processo, che si può trovare usando ps
.
2. Terminiamo un processo usando il nome
Se vuoi terminare tutti i processi sleep
, usa il comando killall
:
killall sleep
3. Usiamo pkill
Se non ricordi il nome esatto del processo, pkill
ti aiuterà a terminare un processo usando una corrispondenza parziale del nome:
pkill slee
7. Passo 6: Monitoraggio dei processi
Per monitorare il carico sul sistema usa:
top
— per lavorare in tempo reale:top
Qui puoi osservare il carico del processore, della memoria e i processi attivi. Usa la combinazione di tasti
k
per terminare un processo direttamente dall'interfaccia.htop
— un'interfaccia più comoda (se l'hai installato):
Per uscire premihtop
F10
.
8. Checklist
Dopo aver completato tutti i passaggi, devi assicurarti che:
- Sono stati creati due utenti
user1
euser2
. - È stato creato e configurato un gruppo
developers
, a cui sono stati aggiunti entrambi gli utenti. - È stato creato un file
project.txt
, accessibile solo al gruppodevelopers
. - Sono stati creati e terminati diversi processi usando i comandi
kill
,killall
epkill
. - Hai visualizzato con successo l'elenco dei processi usando
ps
,top
ohtop
.
Se hai fatto tutto — congratulazioni! Hai completato tutte le fasi principali della gestione di utenti, gruppi, permessi di accesso e processi nel sistema Linux. Che la potenza del terminale sia con te!
GO TO FULL VERSION