From 463c81f932d84c0cd83bedcafb10cb94cb0fff19 Mon Sep 17 00:00:00 2001 From: ambaradan Date: Wed, 17 Nov 2021 12:20:36 +0100 Subject: [PATCH] small changes and fix admonitions --- docs/books/admin_guide/06-users.it.md | 265 +++++++++++-------- docs/books/admin_guide/07-file-systems.it.md | 233 ++++++++-------- 2 files changed, 265 insertions(+), 233 deletions(-) diff --git a/docs/books/admin_guide/06-users.it.md b/docs/books/admin_guide/06-users.it.md index 2f7da384b9..f753c4e42d 100644 --- a/docs/books/admin_guide/06-users.it.md +++ b/docs/books/admin_guide/06-users.it.md @@ -34,7 +34,7 @@ Diversi utenti possono far parte dello stesso gruppo. Gli utenti possono appartenere ad altri gruppi. Questi utenti sono *invitati* a questi **gruppi secondari**. -!!! Nota +!!! Note "Nota" Ogni utente ha un gruppo primario e può essere invitato in uno o più gruppi secondari. I gruppi e gli utenti sono gestiti dai loro identificatori numerici unici `GID` e `UID`. @@ -44,7 +44,7 @@ I file di dichiarazione dell'account e del gruppo si trovano in `/etc`. * `UID`: _User IDentifier_. ID utente unico.. * `GID`: _Group IDentifier_. Identificatore di gruppo unico.. -!!! Pericolo +!!! Danger "Pericolo" È necessario utilizzare sempre i comandi di amministrazione invece di modificare manualmente i file. ## Gestione del gruppo @@ -58,21 +58,20 @@ File modificati, linee aggiunte: Il comando `groupadd` aggiunge un gruppo al sistema. -``` +```bash groupadd [-f] [-g GID] group ``` Esempio: -``` +```bash $ sudo groupadd -g 1012 GroupeB ``` - | Opzione | Descrizione | -| ---------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| -------- | ---------------------------------------------------------------------------------------------------------------------------------- | | `-g GID` | `GID` del gruppo da creare. | -| `-f` | Il sistema sceglie un`GID` se quello specificato dall'opzione `-g` esiste già. | +| `-f` | Il sistema sceglie un`GID` se quello specificato dall'opzione `-g` esiste già. | | `-r` | Crea un gruppo di sistema con un `GID` tra `SYS_GID_MIN` e `SYS_GID_MAX`. Queste due variabili sono definite in `/etc/login.defs`. | Regole di denominazione del gruppo: @@ -80,33 +79,35 @@ Regole di denominazione del gruppo: * Nessun accento o caratteri speciali; * Diverso dal nome di un utente o file di sistema esistenti. -!!! Nota +!!! Note "Nota" Sotto **Debian**, l'amministratore dovrebbe usare, tranne per gli script destinati ad essere portabili su tutte le distribuzioni Linux, il comando `addgroup` e `delgroup` come specificato nel `man`: -``` -$ man addgroup -DESCRIPTION -adduser and addgroup add users and groups to the system according to command line options and configuration information -in /etc/adduser.conf. They are friendlier front ends to the low level tools like useradd, groupadd and usermod programs, -by default choosing Debian policy conformant UID and GID values, creating a home directory with skeletal configuration, -running a custom script, and other features. -``` + ```bash + $ man addgroup + DESCRIPTION + adduser and addgroup add users and groups to the system according to command line options and configuration information + in /etc/adduser.conf. They are friendlier front ends to the low level tools like useradd, groupadd and usermod programs, + by default choosing Debian policy conformant UID and GID values, creating a home directory with skeletal configuration, + running a custom script, and other features. + ``` + ### Comando `groupmod` Il comando `groupmod` consente di modificare un gruppo esistente sul sistema. -``` +```bash groupmod [-g GID] [-n nom] group ``` + Esempio: -``` +```bash $ sudo groupmod -g 1016 GroupP $ sudo groupmod -n GroupC GroupB ``` | Opzione | Descrizione | -| ----------- | -------------------------------------- | +| --------- | ------------------------------------ | | `-g GID` | Nuovo`GID` del gruppo da modificare. | | `-n name` | Nuovo nome. | @@ -114,64 +115,69 @@ $ sudo groupmod -n GroupC GroupB Dopo la modifica, i file appartenenti al gruppo hanno un `GID` sconosciuto. Devono essere riassegnati al nuovo `GID`. -``` +```bash $ sudo find / -gid 1002 -exec chgrp 1016 {} \; ``` + ### comando `groupdel` Il comando `groupdel` è usato per eliminare un gruppo esistente sul sistema. -``` +```bash groupdel group ``` + Esempio: -``` +```bash $ sudo groupdel GroupC ``` -!!! Consiglio + +!!! Tip "Suggerimento" Per essere cancellato, un gruppo non deve più contenere utenti. L'eliminazione dell'ultimo utente di un gruppo omonimo causerà l'eliminazione del gruppo stesso dal sistema. -!!! Consiglio +!!! Tip "Suggerimento" Ogni gruppo ha un unico `GID`. Un gruppo può essere duplicato. Per convenzione, il `GID` dei gruppi di sistema vanno da 0 (`root`) a 999. -!!! Consiglio +!!! Tip "Suggerimento" Dal momento che un utente è necessariamente parte di un gruppo, È meglio creare i gruppi prima di aggiungere gli utenti. Pertanto, un gruppo inizialmente potrebbe non avere membri. ### file `/etc/group` Questo file contiene le informazioni del Gruppo (divisi da `:`). -``` +```bash $ sudo tail -1 /etc/group GroupP:x:516:patrick (1) (2)(3) (4) ``` + * 1: Nome del gruppo. * 2: Password (`x` se definita in `/etc/gshadow`). * 3: GID. * 4: Membri ospiti (separati da virgole, non contiene membri di base). -!!! Nota +!!! Note "Nota" Ogni linea nel file `/etc/group` corrisponde a un gruppo. Gli utenti il cui gruppo è il loro gruppo principale non è elencato a questo livello. Questa informazione è infatti già fornita dal file `/etc/passwd` ... ### file `/etc/gshadow` Questo file contiene le informazioni di sicurezza sui gruppi (divisi da `:`). -``` +```bash $ sudo grep GroupA /etc/gshadow GroupA:$6$2,9,v...SBn160:alain:rockstar (1) (2) (3) (4) ``` + * 1: Nome del gruppo. * 2: Password crittografata. * 3: Amministratore del gruppo. * 4: Membri ospiti (separati da virgole, non contiene membri di base). -!!! Avvertimento +!!! Warning "Avvertimento" Per ogni linea nel file `/etc/group` ci deve essere una linea corrispondente nel file `/etc/gshadow`. Un `!` nella password indica che la password è bloccata. @@ -206,17 +212,18 @@ File modificati, linee aggiunte: Il comando `useradd` è usato per aggiungere un utente. -``` +```bash useradd [-u UID] [-g GID] [-d directory] [-s shell] login ``` + Esempio: -``` +```bash $ sudo useradd -u 1000 -g 1013 -d /home/GroupC/carine carine ``` | Opzione | Descrizione | -| ---------------- | -------------------------------------------------------------------------- | +| -------------- | ------------------------------------------------------------------------ | | `-u UID` | `UID` dell'utente da creare. | | `-g GID` | `GID` del gruppo principale. | | `-d directory` | Home directory. | @@ -235,7 +242,7 @@ Regole di denominazione dell'account: * Diverso dal nome di un gruppo o file di sistema esistente; * Imposta le opzioni `-u`, `-g`, `-d` e `-s` alla creazione. -!!! Avvertimento +!!! Warning "Avvertimento" L'albero della directory home deve essere già creato tranne per l'ultima directory. L'ultima directory è creata dal comando `useradd`, che coglie l'occasione per copiare i file da `/etc/skel` dentro di essa. @@ -246,84 +253,90 @@ Per gruppi secondari, deve essere usata l'opzione `-G`. Esempio: -``` +```bash $ sudo useradd -u 1000 -g GroupA -G GroupP,GroupC albert ``` -!!! Nota + +!!! Note "Nota" In **Debian**, dovrai specificare l'opzione `-m` per forzare la creazione della directory di accesso o impostare la variabile `CREATE_HOME` nel file `/etc/login.defs`. In tutti i casi, l'amministratore dovrebbe usare i comandi `adduser` e `deluser` come specificato nelle pagine `man`, tranne per gli script destinati ad essere portabili su tutte le distribuzioni Linux: -``` -$ man useradd -DESCRIPTION + ```bash + $ man useradd + DESCRIPTION **useradd** is a low level utility for adding users. On Debian, administrators should usually use **adduser(8)** instead. -``` + ``` + #### Valori predefiniti per la creazione dell'utente. Modifica del file `/etc/default/useradd`. -``` +```bash useradd -D [-b directory] [-g group] [-s shell] ``` + Esempio: -``` +```bash $ sudo useradd -D -g 1000 -b /home -s /bin/bash ``` | Opzione | Descrizione | -| ---------------- | -------------------------------------------------------------------------------------- | +| -------------- | ------------------------------------------------------------------------------------ | | `-D` | Imposta i valori predefiniti per la creazione dell'utente. | | `-b directory` | Imposta la directory di accesso predefinita. | | `-g group` | Imposta il gruppo predefinito. | | `-s shell` | Imposta la shell predefinita. | | `-f` | Il numero di giorni di scadenza della password prima che l'account sia disabilitato. | -| `-e` | La data in cui l'account sarà disabilitato. | +| `-e` | La data in cui l'account sarà disabilitato. | ### comando `usermod` Il comando `usermod` permette di modificare un utente. -``` +```bash usermod [-u UID] [-g GID] [-d directory] [-m] login ``` + Esempio: -``` +```bash $ sudo usermod -u 1044 carine ``` -Opzioni identiche al comando `useradd`. +Opzioni identiche al comando `useradd`. | Option | Description | -| ----------------- | --------------------------------------------------------------------------------------------------------- | +| --------------- | ------------------------------------------------------------------------------------------------------- | | `-m` | Associato all'opzione`-d`, sposta il contenuto della vecchia directory di accesso a quello nuova. | | `-l login` | Nuovo nome. | | `-e AAAA-MM-JJ` | Data di scadenza dell'account. | | `-L` | Blocca l'account. | | `-U` | Sblocca l'account. | | `-a` | Previene l'utente dal essere eliminato da un sottogruppo quando viene aggiunto ad un altro sottogruppo. | -| `-G` | Specifica più sottogruppi durante l'aggiunta. | +| `-G` | Specifica più sottogruppi durante l'aggiunta. | Con il comando `usermod`, bloccare un account di fatto significa inserire un `!` prima della password nel file `/etc/shadow`. -!!! Consiglio +!!! Tip "Suggerimento" Per essere modificato, un utente deve essere disconnesso e non avere processi in esecuzione. Dopo aver cambiato l'identificatore, i file appartenenti all'utente hanno un `UID` sconosciuto . Il nuovo `UID` deve essere riassegnato. -``` +```bash $ sudo find / -uid 1000 -exec chown 1044: {} \; ``` + Dove `1000` è il vecchio `UID` e `1044` il nuovo. È possibile invitare un utente in uno o più sottogruppi con le opzioni *-a* e *-G*. Esempio: -``` +```bash $ sudo usermod -aG GroupP,GroupC albert ``` + Il comando `usermod` agisce come una modifica e non come una aggiunta. Per un utente invitato a un gruppo da questo comando e già posizionato come ospite in altri gruppi secondari, sarà necessario indicare nel comando di gestione del gruppo tutti i gruppi a cui appartiene altrimenti verrà eliminato dagli altri gruppi. @@ -334,37 +347,41 @@ Esempi: * Invitare `albert` nel gruppo `GroupP`. -``` +```bash $ sudo usermod -G GroupP albert ``` + * Invita `albert` nel gruppo `GroupG`, ma lo rimuove dal gruppo elenco degli ospiti `GroupP` . -``` +```bash $ sudo usermod -G GroupG albert ``` + * Quindi entrambi : -``` +```bash $ sudo usermod -G GroupP,GroupG albert ``` + * O : -``` +```bash $ sudo usermod -aG GroupG albert ``` + ### comando `userdel` Il comando `userdel` ti consente di eliminare l'account di un utente. -``` +```bash $ sudo userdel -r carine ``` | Option | Description | -| -------- | --------------------------------------------------------- | +| ------ | ------------------------------------------------------- | | `-r` | Elimina la directory di connessione e i file contenuti. | -!!! Consiglio +!!! Tip "Suggerimento" Per essere cancellato, un utente deve essere disconnesso e non avere processi in esecuzione. `userdel` rimuove la linea dell'utente dal file `/etc/passwd` e da `/etc/gshadow`. @@ -373,11 +390,12 @@ $ sudo userdel -r carine Questo file contiene le informazioni utente (divise da `:`). -``` +```bash $ sudo head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash (1)(2)(3)(4)(5) (6) (7) ``` + * 1: Login. * 2: Password (`x` se definita in `/etc/shadow`). * 3: UID. @@ -390,11 +408,12 @@ root:x:0:0:root:/root:/bin/bash Questo file contiene le informazioni sulla sicurezza degli utenti (divisi da `:`). -``` +```bash $ sudo tail -1 /etc/shadow root:$6$...:15399:0:99999:7::: (1) (2) (3) (4) (5) (6)(7,8,9) ``` + * 1: Login. * 2: Password crittografata. * 3: Data dell'ultima modifica. @@ -405,12 +424,12 @@ root:$6$...:15399:0:99999:7::: * 8: Tempo di scadenza dell'account. * 9: Riservato per un uso futuro. -!!! Pericolo +!!! Danger "Pericolo" Per ogni linea nel file `/etc/passwd` ci deve essere una linea corrispondente nel file `/etc/shadow`. ## Proprietari dei file -!!! Pericolo +!!! Danger "Pericolo" Tutti i file appartengono necessariamente a un utente e un gruppo. Il gruppo principale dell'utente che crea il file è, per impostazione predefinita, il gruppo che possiede il file. @@ -421,88 +440,97 @@ Il gruppo principale dell'utente che crea il file è, per impostazione predefini Il comando `chown` ti consente di modificare i proprietari di un file. -``` +```bash chown [-R] [-v] login[:group] file ``` + Esempi: -``` +```bash $ sudo chown root myfile $ sudo chown albert:GroupA myfile ``` | Option | Description | -| -------- | ------------------------------------------------------------ | +| ------ | ---------------------------------------------------------- | | `-R` | Cambia i proprietari della directory e dei suoi contenuti. | | `-v` | Visualizza le modifiche eseguite. | Per cambiare solo l'utente proprietario: -``` +```bash $ sudo chown albert file ``` + Per cambiare solo il gruppo proprietario: -``` +```bash $ sudo chown :GroupA file ``` + Per cambiare il gruppo proprietario e l'utente proprietario: -``` +```bash $ sudo chown albert:GroupA file ``` + Nell'esempio seguente il gruppo assegnato sarà il gruppo principale dell'utente specificato. -``` +```bash $ sudo chown albert: file ``` + ### comando `chgrp` command Il comando `chgrp` ti consente di modificare il gruppo proprietario di un file. -``` +```bash chgrp [-R] [-v] group file ``` + Esempio: -``` +```bash $ sudo chgrp group1 file ``` | Opzione | Descrizione | -| --------- | --------------------------------------------------------------------------------- | +| ------- | ------------------------------------------------------------------------------- | | `-R` | Modifica i gruppi proprietari della directory e dei suoi contenuti (ricorsivo). | | `-v` | Visualizza le modifiche eseguite. | -!!! Nota +!!! Note "Nota" È possibile applicare a un file un proprietario e un gruppo proprietario prendendo come riferimento quelli di un altro file: -``` +```bash chown [options] --reference=RRFILE FILE ``` + Per esempio: -``` +```bash chown --reference=/etc/groups /etc/passwd ``` + ## Gestione degli ospiti ### comando `gpasswd` Il comando `gpasswd` permette di gestire un gruppo. -``` +```bash gpasswd [-a login] [-A login] [-d login] [-M login] group ``` + Examples: -``` +```bash $ sudo gpasswd -A alain GroupA [alain]$ gpasswd -a patrick GroupA ``` | Opzione | Descrizione | -| ------------ | ------------------------------------------- | +| ---------- | ----------------------------------------- | | `-a login` | Aggiunge l'utente al gruppo. | | `-A login` | Imposta l'amministratore del gruppo. | | `-d login` | Rimuove l'utente dal gruppo. | @@ -510,37 +538,42 @@ $ sudo gpasswd -A alain GroupA Il comando `gpasswd -M` agisce come una modifica, non come un'aggiunta. -``` +```bash # gpasswd GroupeA New Password : Re-enter new password : ``` + ### comando `id` Il comando `id` visualizza i nomi del gruppo di un utente. -``` +```bash id login ``` + Esempio: -``` +```bash $ sudo id alain uid=1000(alain) gid=1000(GroupA) groupes=1000(GroupA),1016(GroupP) ``` + ### comando `newgrp` Il comando `newgrp` consente di utilizzare temporaneamente un gruppo secondario per la creazione di file. -``` +```bash newgrp [secondarygroups] ``` + Esempio: -``` +```bash [alain]$ newgrp GroupB ``` -!!! Nota + +!!! Note "Nota" Dopo aver usato questo comando, i file verranno creati con il `GID` del suo sottogruppo. Il comando `newgrp` senza parametri riassegna al gruppo principale. @@ -551,18 +584,19 @@ Il comando `newgrp` senza parametri riassegna al gruppo principale. Il comando `passwd` è usato per gestire una password. -``` +```bash passwd [-d] [-l] [-S] [-u] [login] ``` + Esempi: -``` +```bash $ sudo passwd -l albert $ sudo passwd -n 60 -x 90 -w 80 -i 10 patrick ``` | Option | Description | -| ----------- | -------------------------------------------------------------- | +| --------- | ------------------------------------------------------------ | | `-d` | Rimuove la password. | | `-l` | Blocca l'account. | | `-S` | Visualizza lo stato dell'account. | @@ -581,15 +615,17 @@ Esempio: * Alain cambia la sua password: -``` +```bash [alain]$ passwd ``` + * root cambia la password di Alain -``` +```bash $ sudo passwd alain ``` -!!! Nota + +!!! Note "Nota" Il comando `passwd` è disponibile per gli utenti per cambiare la propria password (la vecchia password è richiesta). L'amministratore può modificare le password di tutti gli utenti senza restrizioni. Dovranno rispettare le restrizioni di sicurezza. @@ -600,27 +636,29 @@ Questo può essere fatto passando la password al comando `passwd`. Esempio: -``` +```bash $ sudo echo "azerty,1" | passwd --stdin philippe ``` -!!! Avvertimento + +!!! Warning "Avvertimento" La password è inserita in chiaro, `passwd` si prende cura di crittografarla. ### comando `chage` Il comando `chage` è usato per gestire la strategia dell'account. -``` +```bash chage [-d date] [-E date] [-I days] [-l] [-m days] [-M days] [-W days] [login] ``` + Esempio: -``` +```bash $ sudo chage -m 60 -M 90 -W 80 -I 10 alain ``` | Opzione | Descrizione | -| ----------------- | --------------------------------------------------------- | +| --------------- | ------------------------------------------------------- | | `-I days` | Ritardo prima della disattivazione, a password scaduta. | | `-l` | Visualizza i dettagli della politica. | | `-m days` | Durata minima della password. | @@ -635,11 +673,12 @@ L'opzione `-d` costringe alla modifica della password al login. Esempi: -``` +```bash $ sudo chage philippe $ sudo chage -d 0 philippe ``` -!!! Nota + +!!! Note "Nota" Se nessun utente è specificato, l'ordine riguarderà l'utente che entra. ![User account management with chage](images/chage-timeline.png) @@ -652,40 +691,41 @@ File di configurazione.: * `/etc/login.defs` * `/etc/skel` -!!! Nota +!!! Note "Nota" La modifica del file `/etc/default/useradd` è fatta con il comando `useradd`. Gli altri file devono essere modificati con un editor di testo. + ### file `/etc/default/useradd` Questo file contiene le impostazioni dei dati predefinite. -!!! Consiglio +!!! Tip "Suggerimento" Quando si crea un utente, se le opzioni non sono specificate, il sistema utilizza i valori predefiniti definiti in `/etc/default/useradd`. Questo file è modificato dal comando `useradd -D` (`useradd -D` inserito senza nessun'altra opzione visualizza il contenuto del file `/etc/default/useradd`). - | Valore | Commento | -| --------------------- | ---------------------------------------------------------------------------------------- | +| ------------------- | -------------------------------------------------------------------------------------- | | `GROUP` | Gruppo predefinito.. | -| `HOME` | Percorso in cui verrà creata la directory di accesso per il nome dell'utente. | +| `HOME` | Percorso in cui verrà creata la directory di accesso per il nome dell'utente. | | `INACTIVE` | Numero di giorni dopo la scadenza della password prima che l'account sia disabilitato. | | `EXPIRE` | Data di scadenza dell'account. | | `SHELL` | Interprete dei comandi. | | `SKEL` | Skeleton Directory della directory di accesso. | | `CREATE_MAIL_SPOOL` | Creazione della Mailbox in`/var/spool/mail`. | -!!! Avvertimento +!!! Warning "Avvertimento" Senza l'opzione `-g`, il comando `useradd` crea un gruppo dal nome dell'utente e il gruppo diventa il gruppo principale dell'utente. In ordine al comando `useradd` per poter recuperare il valore del campo `GROUP` dal file `/etc/default/useradd`, devi specificare l'opzione `-N`. Esempio: -``` +```bash $ sudo useradd -u 501 -N GroupeA ``` + ### file `/etc/login.defs` Questo file contiene molti parametri predefiniti utili per la creazione o la modifica degli utenti. Queste informazioni sono raggruppate in paragrafi in base al loro uso: @@ -715,47 +755,50 @@ Tutti i file e le directory inseriti in questa directory verranno copiati nell'a Il comando `su` consente di modificare l'identità dell'utente connesso. -``` +```bash su [-] [-c command] [login] ``` + Esempi: -``` +```bash $ sudo su - alain [albert]$ su -c "passwd alain" ``` | Opzione | Descrizione | -| -------------- | -------------------------------------------------------------- | +| ------------ | ------------------------------------------------------------ | | `-` | Carica l'ambiente completo dell'utente. | -| `-c` comando | Esegue il comando sotto l'identità dell'utente specificato. | +| `-c` comando | Esegue il comando sotto l'identità dell'utente specificato. | Se il login non è specificato, sarà `root`. Gli utenti standard dovranno digitare la password per la nuova identità. -!!! Consiglio +!!! Tip "Suggerimento" Ci sono "strati" creati in successione (una pila di ambienti `bash`). Per passare da un utente all'altro, devi prima digitare il comando `exit` per riprendere la tua identità e poi il comando `su` per prendere un'altra identità. #### Caricamento del profilo `root` approva l'identità dell'utente `alain` insieme a `su`: -``` +```bash ... /home/GroupA/alain/.bashrc /etc/bashrc ... ``` + `root` assume l'identità dell'utente `alain` with `su -`: -``` +```bash ... /home/GroupA/alain/.bash_profile /home/GroupA/alain/.bashrc /etc/bashrc ... ``` + Un utente può temporaneamente (per un altro comando o per un'intera sessione) assumere l'identità di un altro account. Se nessun utente è specificato, il comando sarà per `root` (`su -`). diff --git a/docs/books/admin_guide/07-file-systems.it.md b/docs/books/admin_guide/07-file-systems.it.md index 3569516378..2b03350218 100644 --- a/docs/books/admin_guide/07-file-systems.it.md +++ b/docs/books/admin_guide/07-file-systems.it.md @@ -39,7 +39,7 @@ Lo stesso disco fisico può essere diviso in un massimo di 4 partizioni: * *Primary* (o main) * *Extended* -!!! Avvertimento +!!! Warning "Avvertimento" Ci può essere solo una partizione estesa per disco fisico. Al fine di beneficiare di ulteriori unità, la partizione estesa può essere suddivisa in partizioni logiche ![Breakdown into only 4 primary partitions](images/07-file-systems-001.png) @@ -54,7 +54,7 @@ I dispositivi di archiviazione sono denominati *hd* per i dischi rigidi IDE e *s Finalmente troveremo un numero che definisce il volume partizionato: *1* per la prima partizione primaria, ... -!!! Avvertimento +!!! Warning "Avvertimento" Attenzione, la partizione estesa, che non supporta un file system, ha ancora un numero. ![Identification of partitions](images/07-file-systems-003.png) @@ -63,7 +63,7 @@ Ci sono almeno due comandi per il partizionamento di un disco: `fdisk` e `cfdisk L'unico motivo per usare `fdisk` è quando vuoi elencare tutti i dispositivi logici con l'opzione `-l`. -``` +```bash sudo fdisk -l sudo fdisk -l /dev/sdc sudo fdisk -l /dev/sdc2 @@ -73,7 +73,7 @@ sudo fdisk -l /dev/sdc2 Il comando `parted` (_partition editor_) è in grado di partizionare un disco. -``` +```bash parted [-l] [device] ``` @@ -93,13 +93,13 @@ Il comando `gparted` da solo tornerà a una modalità interattiva con le propri Il comando `cfdisk` è usato per gestire le partizioni. -``` +```bash cfdisk device ``` Esempio: -``` +```bash $ sudo cfdisk /dev/sda Disk: /dev/sda Size: 16 GiB, 17179869184 bytes, 33554432 sectors @@ -142,7 +142,7 @@ Lo svantaggio è che se uno dei volumi fisici va fuori servizio, allora tutti i LVM è disponibile in Linux dalla versione del kernel 2.4. -!!! Nota +!!! Note "Nota" LVM è gestito solo dal sistema operativo. Quindi, il _BIOS_ ha bisogno di almeno una partizione senza LVM per avviarsi. ### Gruppi di volumi @@ -168,7 +168,7 @@ Un gruppo di volumi, *VG*, è diviso in volumi logici, *LV*, offrendo diverse mo ![Volumes in stripe mode](images/07-file-systems-006.png) -!!! Consiglio +!!! Tip "Suggerimento" _Striping_ migliora le prestazioni scrivendo i dati a un numero predeterminato di volumi fisici con una tecnica _round-robin_. ![Mirrored volumes](images/07-file-systems-007.png) @@ -179,40 +179,39 @@ Un gruppo di volumi, *VG*, è diviso in volumi logici, *LV*, offrendo diverse mo Il comando `pvcreate` è usato per creare volumi fisici. Comprende partizioni Linux (o dischi) in volumi fisici. -``` +```bash pvcreate [-options] partition ``` Esempio: -``` +```bash [root]# pvcreate /dev/hdb1 pvcreate -- physical volume « /dev/hdb1 » successfully created ``` Puoi anche usare un disco intero (che facilita l'aumento della dimensione del disco in ambienti virtuali per esempio). -``` +```bash [root]# pvcreate /dev/hdb pvcreate -- physical volume « /dev/hdb » successfully created ``` - | Opzione | Descrizione | -| --------- | ------------------------------------------------------------------------------ | -| `-f` | Costringe la creazione del volume (disco già trasformato in volume fisico). | +| ------- | ----------------------------------------------------- ---------------------- | +| `-f` | Costringe la creazione del volume (disco già trasformato in volume fisico). | #### comando `vgcreate` Il comando `vgcreate` è usato per creare gruppi di volumi. Raggruppa uno o più volumi fisici in un gruppo di volumi. -``` +```bash vgcreate volume physical_volume [PV...] ``` Esempio: -``` +```bash [root]# vgcreate volume1 /dev/hdb1 … vgcreate – volume group « volume1 » successfully created and activated @@ -222,20 +221,19 @@ vgcreate – volume group « volume1 » successfully created and activated Il comando `lvcreate` crea volumi logici. Il file system viene quindi creato su questi volumi logici. -``` +```bash lvcreate -L size [-n name] VG_name ``` Esempio: -``` +```bash [root]# lvcreate –L 600M –n VolLog1 volume1 lvcreate -- logical volume « /dev/volume1/VolLog1 » successfully created ``` - | Opzione | Descrizione | -| ----------- | ---------------------------------------------------------------------------------- | +| --------- | -------------------------------------------------------------------------------- | | `-L size` | Dimensione del volume logico in K, M o G. | | `-n name` | Nome del LV. Un file speciale viene creato in`/dev/name_volume` con questo nome. | @@ -245,13 +243,13 @@ lvcreate -- logical volume « /dev/volume1/VolLog1 » successfully created Il comando `pvdisplay` consente di visualizzare informazioni sui volumi fisici. -``` +```bash pvdisplay /dev/PV_name ``` Esempio: -``` +```bash [root]# pvdisplay /dev/PV_name ``` @@ -259,13 +257,13 @@ Esempio: Il comando `vgdisplay` ti consente di visualizzare informazioni sui gruppi di volumi. -``` +```bash vgdisplay VG_name ``` Esempio: -``` +```bash [root]# vgdisplay volume1 ``` @@ -273,13 +271,13 @@ Esempio: Il comando `lvdisplay` ti permette di visualizzare le informazioni sui volumi logici. -``` +```bash lvdisplay /dev/VG_name/LV_name ``` Esempio: -``` +```bash [root]# lvdisplay /dev/volume1/VolLog1 ``` @@ -311,27 +309,26 @@ Il sistema operativo Linux è in grado di utilizzare diversi file system (ext2, Il comando `mkfs` consente di creare un file system Linux. -``` +```bash mkfs [-t fstype] filesys ``` Esempio: -``` +```bash [root]# mkfs -t ext4 /dev/sda1 ``` - | Opzione | Descrizione | -| --------- | ---------------------------------------------- | +| ------- | -------------------------------------------- | | `-t` | Indica il tipo di file system da utilizzare. | -!!! Avvertimento +!!! Warning "Avvertimento" Senza un file system non è possibile utilizzare lo spazio su disco. Ogni file system ha una struttura identica su ciascuna partizione. Un **boot block** e **super block** inizializzato dal sistema e poi un **inode table** e una **data area** inizializzata dall'amministratore. -!!! Nota +!!! Note "Nota" L'unica eccezione è la partizione **swap**. ### Blocco di avvio @@ -362,7 +359,7 @@ Quando il sistema viene fermato, viene copiata anche questa tabella sull'hard di La dimensione della **tabella inode** è definito alla sua creazione ed è memorizzato sulla partizione. Consiste di record, chiamati inodes, corrispondenti ai file creati. Ogni record contiene gli indirizzi dei blocchi di dati che costituiscono il file. -!!! Nota +!!! Note "Nota" Un numero inode è unico all'interno di un file system. Una copia viene caricata nella memoria centrale non appena il sistema è inizializzato. Questa copia viene aggiornata non appena viene modificata e il sistema la salva periodicamente (comando `sync`). @@ -371,7 +368,7 @@ Quando il sistema viene fermato, viene copiata anche questa tabella sull'hard di Un file è gestito dal suo numero di inode. -!!! Nota +!!! Note "Nota" La dimensione della tabella di inode determina il numero massimo di file che il file system può contenere. Informazioni presenti nella *tabella inode* : @@ -395,7 +392,7 @@ La sua dimensione corrisponde al resto dello spazio disponibile nella partizione Quando il sistema viene fermato, viene copiata anche questa tabella sull'hard disk -!!! Pericolo +!!! Danger "Pericolo" In caso di fermata improvvisa, il file system potrebbe perdere la sua coerenza e causare la perdita di dati. ### Riparazione del file system @@ -408,26 +405,26 @@ In caso di errori, vengono proposte le soluzioni per riparare le incoerenze. Dop Il comando `fsck` è uno strumento di controllo e riparazione di integrità in modalità console per i file system Linux. -``` +```bash fsck [-sACVRTNP] [ -t fstype ] filesys ``` Esempio: -``` +```bash [root]# fsck /dev/sda1 ``` Per controllare la partizione root, è possibile creare un file `forcefsck` e riavviare o eseguire `shutdown` con l'opzione `-F`. -``` +```bash [root]# touch /forcefsck [root]# reboot or [root]# shutdown –r -F now ``` -!!! Avvertimento +!!! Warning "Avvertimento" La partizione da controllare deve essere smontata. ## Organizzazione di un file system @@ -436,23 +433,22 @@ Per definizione, un file system è una struttura ad albero delle directory creat ![Organization of a file system](images/07-file-systems-008.png) -!!! Nota +!!! Note "Nota" In Linux tutto è un file. Documento di testo, directory, file binario, partizione, risorse di rete, schermo, tastiera, Unix kernel, programma utente, ... Linux segue il **FHS** (_Filesystems Hierarchy Standard_) (vedi `man hier`) che definisce i nomi delle cartelle e dei loro ruoli. - | Directory | Osservazione | Abbreviazione di | -| ------------ | -------------------------------------------------------------------------- | ------------------------------- | +| ---------- | ------------------------------------------------------------------------ | ----------------------------- | | `/` | Contiene directory speciali | | | `/boot` | File relativi all'avvio del sistema | | | `/sbin` | Comandi necessari per l'avvio e la riparazione del sistema | _system binaries_ | | `/bin` | Eseguibili dei comandi di base del sistema | _binaries_ | | `/usr/bin` | Comandi di amministrazione del sistema | | | `/lib` | Librerie condivise e moduli del kernel | _libraries_ | -| `/usr` | Tutto ciò che non è necessario per il funzionamento minimo del sistema | _UNIX System Resources_ | +| `/usr` | Tutto ciò che non è necessario per il funzionamento minimo del sistema | _UNIX System Resources_ | | `/mnt` | Per il montaggio temporaneo dei file system | _mount_ | | `/media` | Per il montaggio dei supporti rimovibili | | | `/root` | Directory di accesso dell'amministratore | | @@ -473,10 +469,10 @@ Linux segue il **FHS** (_Filesystems Hierarchy Standard_) (vedi `man hier`) che Il file `/etc/fstab` viene letto all'avvio del sistema e contiene i supporti da montare. Ogni file system da montare è descritto su una singola riga, I campi sono separati da spazi o tabulazioni. -!!! Nota +!!! Note "Nota" Le linee sono lette in sequenza (`fsck`, `mount`, `umount`). -``` +```bash /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1 UUID=46….92 /boot ext4 defaults 1 2 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 @@ -487,20 +483,19 @@ proc /proc proc defaults 0 0 1 2 3 4 5 6 ``` - | Colonna | Descrizione | -| --------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| ------- | ----------------------------------------------------------------------------------------------------------------------------------- | | 1 | Dispositivo di file system. (`/dev/sda1`, UUID=..., ...) | | 2 | Nome del punto di montaggio, **absolute path** (tranne **swap**) | | 3 | Tipo di filesystem. (ext4, swap, ...) | | 4 | Opzioni speciali per il montaggio (`defaults`, `ro`, ...) | | 5 | Abilita o disabilita la gestione del backup (0:niente backup, 1:backup) | -| 6 | Controllare l'ordine quando si controlla il file system con il comando`fsck` (0:nessun controllo, 1:priorità, 2:nessuna priorità) | +| 6 | Controllare l'ordine quando si controlla il file system con il comando`fsck` (0:nessun controllo, 1:priorità, 2:nessuna priorità) | Il comando `mount -a` consente di montare i nuovi punti di montaggio senza riavvio. Vengono quindi scritti nel file `/etc/mtab` che contiene i supporti correnti. -!!! Avvertimento +!!! Warning "Avvertimento" Solo i punti di montaggio elencati in `/etc/fstab` saranno montati al riavvio. È possibile fare una copia del file `/etc/mtab` o copiare il suo contenuto in `/etc/fstab`. @@ -511,19 +506,18 @@ Vengono quindi scritti nel file `/etc/mtab` che contiene i supporti correnti. Il comando `mount` permette di montare e visualizzare le unità logiche nell'albero. -``` +```bash mount [-option] [device] [directory] ``` Esempio: -``` +```bash [root]# mount /dev/sda7 /home ``` - | Opzione | Descrizione | -| --------- | ------------------------------------------------------------------------------------------------ | +| ------- | ---------------------------------------------------------------------------------------------- | | `-n` | Montare senza scrivere in`/etc/mtab`. | | `-t` | Per indicare il tipo di file system da utilizzare. | | `-a` | Monta tutti i filesystem menzionati in `/etc/fstab`. | @@ -531,33 +525,32 @@ Esempio: | `-w` | Monta il file system in lettura/scrittura, per impostazione predefinita. (equivalente`-o rw`). | | `-o` | Argomento seguito da un elenco di opzioni separate da virgole (`remount`, `ro`, ...). | -!!! Nota +!!! Note "Nota" Il comando `mount` da solo visualizza tutti i file system montati. #### comando `umount` Il comando `umount` è usato per smontare le unità logiche. -``` +```bash umount [-option] [device] [directory] ``` Esempio: -``` +```bash [root]# umount /home [root]# umount /dev/sda7 ``` - | Opzione | Descrizione | -| --------- | -------------------------------------------------------- | +| ------- | ------------------------------------------------------ | | `-n` | Smontare senza scrivere in`/etc/mtab`. | | `-r` | Se l'unmount fallisce, rimontare come sola lettura. | | `-f` | Forza smontaggio. | | `-a` | Smontare tutti i filesystem menzionati in`/etc/fstab`. | -!!! Nota +!!! Note "Nota" Quando si smontano, non devi essere posizionato al di sotto del punto di montaggio. Altrimenti, viene visualizzato il seguente messaggio di errore: `device is busy`. ## Tipi di file @@ -571,17 +564,17 @@ Come in qualsiasi sistema, è importante rispettare le regole di denominazione d I gruppi di parole separati da spazi devono essere racchiusi tra virgolette: -``` +```bash [root]# mkdir "working dir" ``` -!!! Nota +!!! Note "Nota" Anche se non c'è nulla di tecnicamente sbagliato nel creare un file o una directory con uno spazio in esso, generalmente è una "_pratica migliore_" evitarlo e sostituire qualsiasi spazio con una sottolineatura. -!!! Nota +!!! Note "Nota" Il **.** all'inizio del nome del file serve solo a nasconderlo da un semplice `ls`. -!!! Avvertimento +!!! Warning "Avvertimento" In Linux, l'estensione di un file non è un riferimento necessario per aprirlo o modificarlo. Tuttavia, può essere utile per l'utente. Esempi di estensioni comuni: @@ -592,20 +585,19 @@ Esempi di estensioni comuni: * `.tar` : file di dati archiviato con l'utilità `tar`; * `.cpio` : file di dati archiviato con l'utilità `cpio`; * `.gz` : file di dati compresso con l'utilità `gzip`; -* `.tgz` : file di dati archiviato con l'utilità `tar` e compresso con l'utilità` gzip`; +* `.tgz` : file di dati archiviato con l'utilità `tar` e compresso con l'utilità `gzip`; * `.html` : pagina web. ### Dettagli di un nome del file -``` +```bash [root]# ls -liah /usr/bin/passwd 266037 -rwsr-xr-x 1 root root 59K mars 22 2019 /usr/bin/passwd 1 2 3 4 5 6 7 8 9 ``` - | Riga | Descrizione | -| ------ | ---------------------------------------------------------------- | +| ---- | -------------------------------------------------------------- | | `1` | Numero di inode | | `2` | Tipo di file (primo carattere del blocco di 10) | | `3` | Permessi di accesso (ultimi 9 caratteri del blocco di 10) | @@ -630,7 +622,7 @@ I seguenti tipi di file possono essere trovati su un sistema: Questi sono testo, programmmi (sorgente), eseguibile (dopo la compilazione) o dati (binari, ASCII) e file multimediali. -``` +```bash [root]# ls -l myfile -rwxr-xr-x 1 root root 26 nov 31 15:21 myfile ``` @@ -646,7 +638,7 @@ Per impostazione predefinita in ogni directory sono presenti **.** e **..**. * IL **.** rappresenta la posizione nell'albero. * Il **..** rappresenta il padre della posizione corrente. -``` +```bash [root]# ls -l mydirectory drwxr-xr-x 1 root root 26 nov 31 15:21 mydirectory ``` @@ -668,7 +660,7 @@ Sono definiti in due modalità: Il file speciale **modo block** consente, utilizzando i buffer di sistema, di trasferire i dati sul dispositivo. -``` +```bash [root]# ls -l /dev/sda brw------- 1 root root 8, 0 jan 1 1970 /dev/sda ``` @@ -681,7 +673,7 @@ Il file speciale *character mode* viene utilizzato per trasferire i dati sul dis L'output standard è lo screen. -``` +```bash [root]# ls -l /dev/tty0 crw------- 1 root root 8, 0 jan 1 1970 /dev/tty0 ``` @@ -709,23 +701,23 @@ Esistono due tipi di file link: Il file di collegamento e il file di origine hanno lo stesso numero di _inode_ e il contatore dei collegamenti viene incrementato. Non è possibile collegare diverse directory o files da file system diversi. -!!! Avvertimento +!!! Warning "Avvertimento" Se il file sorgente viene distrutto, il contatore viene decrementato e il file di collegamento accede ancora al file. ###### Commando `ln` per un link fisico Il comando `ln` permette di creare i collegamenti fisici. -``` +```bash [root]# ls –li letter 666 –rwxr--r-- 1 root root … letter ``` -``` +```bash [root]# ln /home/paul/letter /home/jack/read ``` -``` +```bash [root]# ls –li /home/*/* 666 –rwxr--r-- 2 root root … letter 666 –rwxr--r-- 2 root root … read @@ -739,23 +731,23 @@ A differenza del collegamento fisico, il link simbolico coinvolge la creazione d Il file creato contiene solo un'indicazione del percorso verso il file. Questa nozione non ha più le limitazioni dei collegamenti fisici ed è ora possibile collegare directory e file appartenenti a diversi file system. -!!! Avvertimento +!!! Warning "Avvertimento" Se il file sorgente viene distrutto, il file di link non può più accedere al file. ###### comando `ln` per un link simbolico Il comando `ln` con l'argomento `-s` permette di creare collegamenti simbolici. -``` +```bash [root]# ls –li letter 666 -rwxr--r-- 1 root root … letter ``` -``` +```bash [root]# ln -s /home/paul/letter /tmp/read ``` -``` +```bash [root]# ls –li /home/paul/letter /tmp/read 666 -rwxr--r--- 1 root root … letter 678 lrwxrwxrwx 1 root root … read -> letter @@ -781,7 +773,7 @@ Ci sono 4 diritti di accesso ai file: * e**x**ecution; (esecuzione) * **-** no right. (nessun diritto) -!!! Avvertimento +!!! Warning "Avvertimento" I diritti associati ai file differiscono da quelli associati alle directory (vedi sotto). I tipi di utente associati ai diritti di accesso ai file sono: @@ -801,7 +793,7 @@ In alcuni comandi è possibile designare tutti con **a** (_all_). * e**x**ecute: Considera il file come un eseguibile e**X**ecutable (binario o script.). * **-**: Nessuna autorizzazione. -!!! Nota +!!! Note "Nota" Spostare o rinominare un file dipende dai permessi della directory di destinazione. Eliminazione di un file dipende dai permessi della directory principale. ### Permessi associati alle directory @@ -815,22 +807,21 @@ In alcuni comandi è possibile designare tutti con **a** (_all_). La visualizzazione dei permessi viene eseguita con il comando `ls -l`. Sono gli ultimi 9 caratteri del blocco di 10. Più precisamente 3 volte 3 caratteri. -``` +```bash [root]# ls -l /tmp/myfile -rwxrw-r-x 1 root sys ... /tmp/myfile 1 2 3 4 5 ``` - | Riga | Descrizione | -| ------ | --------------------------------------------------------------- | +| ---- | ------------------------------------------------------------- | | 1 | Autorizzazioni del proprietario (**u**ser), qui `rwx` | | 2 | Autorizzazioni del gruppo proprietario (**g**roup), qui `rw-` | | 3 | Autorizzazioni degli altri utenti (**o**thers), qui `r-x` | | 4 | Proprietario del file | | 5 | Proprietario del gruppo del file | -!!! Nota +!!! Note "Nota" Le autorizzazioni si applicano a **u**ser, **g**roup e **o**ther (**ugo**) a seconda del proprietario e del gruppo. Per impostazione predefinita, il _proprietario_ di un file è quello che lo crea. IL _gruppo_ del file è il gruppo del proprietario che ha creato il file. Gli _others_ sono quelli che non sono interessati dai casi precedenti. @@ -843,7 +834,7 @@ Solo l'amministratore e il proprietario di un file possono modificare i permessi Il comando `chmod` consente di modificare le autorizzazioni di accesso a un file. -``` +```bash chmod [option] mode file ``` @@ -853,20 +844,20 @@ Diverse operazioni simboliche possono essere separate da virgole Esempio: -``` +```bash [root]# chmod -R u+rwx,g+wx,o-r /tmp/file1 [root]# chmod g=x,o-r /tmp/file2 [root]# chmod -R o=r /tmp/file3 ``` -``` +```bash [root]# ls -l /tmp/fic* -rwxrwx--- 1 root root … /tmp/file1 -rwx--x--- 1 root root … /tmp/file2 -rwx--xr-- 1 root root … /tmp/file3 ``` -``` +```bash [root]# chmod 741 /tmp/file1 [root]# chmod -R 744 /tmp/file2 [root]# ls -l /tmp/fic* @@ -874,9 +865,8 @@ Esempio: -rwxr--r-- 1 root root … /tmp/file2 ``` - | Opzione | Osservazione | -| --------- | --------------------------------------------------------------------------------- | +| ------- | ------------------------------------------------------------------------------- | | `-R` | Modifica ricorsivamente le autorizzazioni delle directory e dei loro contenuti. | Ci sono due metodi per la realizzazione dei cambiamenti dei permessi: @@ -884,7 +874,7 @@ Ci sono due metodi per la realizzazione dei cambiamenti dei permessi: * Il metodo **ottale**; * Il metodo **simbolico**. -!!! Avvertimento +!!! Warning "Avvertimento" I permessi dei file e delle directory non sono dissociati. Per alcune operazioni, Sarà necessario conoscere i permessi della directory contenente il file. Un file protetto da scrittura può essere cancellato da un altro utente purché i permessi della directory che lo contengono consentono a questo utente di eseguire questa operazione. #### Principio del metodo ottale @@ -893,14 +883,14 @@ Ogni permesso ha un valore. ![Octal method](images/07-file-systems-011.png) -``` +```bash [root]# ls -l /tmp/myfile -rwxrwxrwx 1 root root ... /tmp/myfile ``` ![Rights 777](images/07-file-systems-012.png) -``` +```bash [root]# chmod 741 /tmp/myfile -rwxr----x 1 root root ... /tmp/myfile ``` @@ -913,22 +903,22 @@ Questo metodo può essere considerato come un'associazione "letterale" tra un ti ![Symbolic method](images/07-file-systems-014.png) -``` +```bash [root]# chmod u+rwx,g+wx,o-r /tmp/myfile [root]# chmod g=x,o-r /tmp/myfile [root]# chmod o=r /tmp/myfile ``` -``` +```bash [root]# ls -l /tmp/myfile r--r-- 1 root root … /tmp/myfile ``` -``` +```bash [root]# chmod u+rwx,g+wx,o-r /tmp/myfile ``` -``` +```bash [root]# ls -l /tmp/myfile -rwxrwx--- 1 root root … /tmp/myfile ``` @@ -945,7 +935,7 @@ Come con i permessi fondamentali, i permessi particolari hanno ciascuno un valor ![Special rights](images/07-file-systems-015.png) -!!! Pericolo +!!! Danger "Pericolo" `S`, `S` e `T` in maiuscolo **se il diritto non esiste**. #### Il sticky-bit @@ -958,19 +948,19 @@ L'impostazione del _sticky-bit_ può essere fatto come segue: Metodo ottale: -``` +```bash [root]# chmod 1777 directory ``` Metodo simbolico: -``` +```bash [root]# chmod o+t directory ``` Verifica: -``` +```bash [root]# ls -l drwxrwxrwt … directory ``` @@ -981,7 +971,7 @@ Questi permessi consentono l'esecuzione di un comando in base ai permessi impost Il comando viene eseguito con l'identità del proprietario (_SUID_) o del gruppo (_SGID_) del comando. -!!! Nota +!!! Note "Nota" L'identità dell'utente che richiede l'esecuzione dell'ordine non è più presa in considerazione. Questa è una possibilità aggiuntiva dei permessi di accesso assegnata a un utente quando è necessario per loro avere gli stessi permessi del proprietario di un file o di quelli del gruppo in questione. @@ -1001,27 +991,27 @@ L'impostazione di _SUID_ e _SGID_ può essere fatto come sotto con il comando `c Metodo ottale: -``` +```bash [root]# chmod 4777 command1 [root]# chmod 2777 command2 ``` Metodo simbolico: -``` +```bash [root]# chmod u+s command1 [root]# chmod g+s command2 ``` Verifica: -``` +```bash [root]# ls -l -rwsrwxrwx … command1 -rwxrwsrwx … command2 ``` -!!! Avvertimento +!!! Warning "Avvertimento" Non è possibile passare il _SUID_ o _SGID_ a una shell script. Il sistema non lo consente perché è troppo pericoloso per la sicurezza! @@ -1031,16 +1021,16 @@ In una directory con il permesso _SGID_, qualsiasi file creato erediterà il gru Esempio: -``` +```bash [rockstar] $ ls -ld /data/ drwxrwsr-x 2 root users 4096 26 oct. 19:43 /data ``` -``` +```bash [rockstar] $ touch /data/test_sgid /tmp/fic_reference ``` -``` +```bash [rockstar] $ ls -ld /data/test_sgid /tmp/fic_reference -rw-r--r--. 1 rockstar users 0 26 oct. 19:43 /data/test_sgid <1> -rw-r--r--. 1 rockstar rockstar 0 26 oct. 19:43 /tmp/fic_ref @@ -1071,13 +1061,13 @@ Per un file, i diritti di esecuzione vengono rimossi: Il comando `umask` ti consente di visualizzare e modificare la maschera. -``` +```bash umask [option] [mode] ``` Example: -``` +```bash $ umask 033 $ umask 0033 @@ -1094,16 +1084,15 @@ $ ls -la umask_025 -rw-r---w- 1 rockstar rockstar 0 nov. 4 16:44 umask_025 ``` - -| Opzione | Descrizione | -| --------- | ------------------------------------------------- | +| Opzione | Descrizione | +| ------- | ------------------------------------------------ | | `-S` | Visualizzazione simbolica dei permessi dei file. | -!!! Avvertimento - `umask` non influisce sui file esistenti. +!!! Warning "Avvertimento" + `umask` non influisce sui file esistenti. -!!! Nota - `umask` modifica la maschera fino alla disconnessione. +!!! Note "Nota" + `umask` modifica la maschera fino alla disconnessione. Per mantenere il valore, devi modificare i seguenti file del profilo: Per tutti gli utenti: @@ -1115,8 +1104,8 @@ Per un determinato utente: * `~/.bashrc` -!!! Avvertimento - `umask -S` visualizza i permessi dei file (senza i permessi di esecuzione) dei file che verranno creati. Quindi non è il display della maschera utilizzata per sottrarre il valore massimo. +!!! Warning "Avvertimento" + `umask -S` visualizza i permessi dei file (senza i permessi di esecuzione) dei file che verranno creati. Quindi non è il display della maschera utilizzata per sottrarre il valore massimo. -!!! Consiglio +!!! Tip "Suggerimento" Il comando `umask` è un comando _bash_, (un `type umask` ritorna `umask is a shell primitive`) devi cercare `umask` in `man bash`.