diff --git a/docs/books/admin_guide/07-file-systems.it.md b/docs/books/admin_guide/07-file-systems.it.md index 0825ce7a6f..bc2dfb5973 100644 --- a/docs/books/admin_guide/07-file-systems.it.md +++ b/docs/books/admin_guide/07-file-systems.it.md @@ -102,7 +102,7 @@ sudo fdisk -l /dev/sdc2 ### comando `parted` -Il comando `parted`_(partition editor_) è in grado di partizionare un disco e risolve i difetti di `fdisk`. Si consiglia invece di utilizzare il comando `parted`. +Il comando `parted` (_partition editor_) è in grado di partizionare un disco e risolve le carenze di `fdisk`, quindi si consiglia di usare il comando `parted` invece di `fdisk`. Il comando `parted` può essere usato sia dalla riga di comando che in modo interattivo. Dispone inoltre di una funzione di recupero in grado di riscrivere una tabella di partizione cancellata. @@ -345,7 +345,7 @@ Esempio: ### Preparazione dei supporti fisici -La preparazione con LVM del supporto fisico è suddivisa come segue: +La preparazione con LVM del supporto fisico si articola come segue: * Impostazione del disco fisico * Partizione dei volumi diff --git a/docs/books/admin_guide/14-special-authority.it.md b/docs/books/admin_guide/14-special-authority.it.md new file mode 100644 index 0000000000..1b02daa2d3 --- /dev/null +++ b/docs/books/admin_guide/14-special-authority.it.md @@ -0,0 +1,685 @@ +--- +title: Autorizzazioni Speciali +author: tianci li +contributors: Serge Croisé, Colussi Franco +tags: + - advanced permissions + - access control +--- + +Tutti gli esempi in questo documento usano le azioni di root, con le azioni ordinarie degli utenti commentate separatamente. Nel blocco di codice markdown, la descrizione del comando sarà indicata con # sulla riga precedente. + +# Rivedere le autorizzazioni di base + +È noto che i permessi di base di GNU/Linux possono essere visualizzati utilizzando `ls -l`: + +```bash +Shell > ls -l +- rwx r-x r-x 1 root root 1358 Dec 31 14:50 anaconda-ks.cfg +↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ +1 2 3 4 5 6 7 8 9 10 +``` + +I loro significati sono i seguenti: + +| Parte | Descrizione | +| ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 1 | Tipo di file. `-` indica che si tratta di un file ordinario. In seguito verranno introdotti sette tipi di file. | +| 2 | Permessi dell'utente proprietario, il significato di rwx significa, rispettivamente, leggere, scrivere, eseguire. | +| 3 | Permessi del gruppo proprietario. | +| 4 | Permessi di altri utenti. | +| 5 | Numero di sottodirectory. (`.` e `..` incluse). Per un file, rappresenta il numero di collegamenti diretti e 1 rappresenta se stesso. | +| 6 | Nome dell'utente proprietario. | +| 7 | Nome del gruppo proprietario. | +| 8 | Per i file, mostra la dimensione del file. Per le directory, mostra il valore fisso di 4096 byte occupati dal nome del file. Per calcolare la dimensione totale di una directory, usa `du -sh` | +| 9 | Ultima data di modifica. | +| 10 | Il nome del file (o directory). | + +## Sette tipi di file + +| Tipi di file | Descrizione | +|:------------:| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **-** | Rappresenta un file ordinario. Compresi i file di testo semplice (ASCII); file binari (binario); file in formato dati (dati); vari file compressi. | +| **d** | Rappresenta un file di directory. Per impostazione predefinita, ce n'è una in ogni directory `.` e `..`. | +| **b** | File del dispositivo a blocchi. Compresi tutti i tipi di dischi rigidi, unità USB e così via. | +| **c** | File del dispositivo a caratteri. Dispositivo di interfaccia della porta seriale, come il mouse, la tastiera, ecc. | +| **s** | File Socket. Si tratta di un file appositamente utilizzato per la comunicazione di rete. | +| **p** | File Pipe. Si tratta di un tipo di file speciale, il cui scopo principale è quello di risolvere gli errori causati da più programmi che accedono a un file contemporaneamente. FIFO è l'abbreviazione di first-in-first-out. | +| **l** | I file soft link, chiamati anche file di collegamento simbolico, sono simili ai collegamenti di Windows. File di collegamento rigido, noto anche come file di collegamento fisico. | + +## Il significato dei permessi di base + +Per il file: + +| Rappresentazione digitale | Permessi | Descrizione | +|:-------------------------:| ----------- | -------------------------------------------------------------------------------------------------------------- | +| 4 | r(lettura) | Indica che puoi leggere questo file. Si possono usare comandi come `cat`, `head`, `more`, `less`, `tail`, etc. | +| 2 | w(scrivere) | Indica che il file può essere modificato. È possibile utilizzare comandi come `vim`. | +| 1 | x(eseguire) | Permessi per file eseguibili (come script o binari). | + +Per la directory: + +| Rappresentazione digitale | Permessi | Descrizione | +|:-------------------------:| ----------- | -------------------------------------------------------------------------------------------------------------------------- | +| 4 | r(lettura) | Indica che i contenuti della directory possono essere elencati, come `ls -l`. | +| 2 | w(scrivere) | Indica che è possibile creare, eliminare e rinominare i file in questa directory, es. comandi `mkdir`, `touch`, `rm`, ecc. | +| 1 | x(eseguire) | Indica che è possibile entrare nella directory, come con il comando `cd`. | + +!!! info "Informazione" + + Per le directory, i permessi **r** e **x** di solito appaiono contemporaneamente. + +## Autorizzazioni Speciali + +In GNU/Linux, oltre ai permessi di base menzionati sopra, esistono anche alcuni permessi speciali, che presenteremo uno per uno. + +### Autorizzazioni ACL + +Che cos'è l'ACL? ACL (Access Control List), il cui scopo è quello di risolvere il problema delle tre identità in Linux che non riescono a soddisfare le esigenze di allocazione delle risorse. + +Ad esempio, l'insegnante impartisce lezioni agli studenti e crea una directory sotto la directory principale del sistema operativo. Solo gli studenti di questa classe possono caricare e scaricare, gli altri non possono farlo. A questo punto, le autorizzazioni per la directory sono 770. Un giorno, uno studente di un'altra scuola è venuto ad ascoltare l'insegnante: come dovrebbero essere assegnati i permessi? Se si inserisce questo studente nel **gruppo proprietario**, avrà gli stessi permessi degli studenti di questa classe - **rwx**. Se lo studente viene inserito tra gli **altri utenti**, non avrà alcun permesso. In questo momento, l'allocazione dei permessi di base non è in grado di soddisfare i requisiti ed è necessario utilizzare le ACL. + +Una funzione simile è presente nel sistema operativo Windows. Ad esempio, per assegnare le autorizzazioni a un utente per un file, per una directory/file definita dall'utente, fare **clic con il pulsante destro del mouse** ---> **Proprietà** ---> **Sicurezza** ---> **Modifica** ---> **Aggiungi** ---> **Avanzate** ---> **Trova ora**, trovare l'utente/gruppo corrispondente ---> assegnare le autorizzazioni specifiche ---> **Applica** e completare. + + + +Lo stesso vale per GNU/Linux: aggiungete l'utente/gruppo specificato al file/directory e concedete i permessi appropriati per completare l'assegnazione dei permessi ACL. + +Come si abilita una ACL? È necessario trovare il nome del file del dispositivo in cui si trova il punto di montaggio e il suo numero di partizione. Ad esempio, sulla mia macchina, si può fare qualcosa di simile: + +```bash +Shell > df -hT +Filesystem Type Size Used Avail Use% Mounted on +devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev +tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm +tmpfs tmpfs 3.8G 8.9M 3.8G 1% /run +tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup +/dev/nvme0n1p2 ext4 47G 11G 35G 24% / +/dev/nvme0n1p1 xfs 1014M 187M 828M 19% /boot +tmpfs tmpfs 774M 0 774M 0% /run/user/0 + +Shell > dumpe2fs /dev/nvme0n1p2 | head -n 10 +dumpe2fs 1.45.6 (20-Mar-2020) +Filesystem volume name: +Last mounted on: / +Filesystem UUID: c8e6206d-2892-4c22-a10b-b87d2447a885 +Filesystem magic number: 0xEF53 +Filesystem revision #: 1 (dynamic) +Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum +Filesystem flags: signed_directory_hash +Default mount options: user_xattr acl +Filesystem state: clean +Errors behavior: Continue +``` + +Quando viene visualizzata la riga **"Default mount options: user_xattr acl"**, indica che l'ACL è stato abilitato. Se non è abilitato, puoi anche attivarlo temporaneamente -- `mount -o remount,acl /`. Può anche essere attivato in modo permanente: + +```bash +Shell > vim /etc/fstab +UUID=c8e6206d-2892-4c22-a10b-b87d2447a885 / ext4 defaults,acl 1 1 + +Shell > mount -o remount / +# or +Shell > reboot +``` + +#### Visualizzazione e impostazione di ACL + +Per visualizzare l'ACL, è necessario utilizzare il comando `getfacle` -- `getfacle NOME_FILE` + +Se si desidera impostare i permessi ACL, è necessario utilizzare il comando `setfacl`. + +```bash +Shell > setfacl