diff --git a/docs/books/admin_guide/07-file-systems.it.md b/docs/books/admin_guide/07-file-systems.it.md
index c0265754a9..bdb9a32cca 100644
--- a/docs/books/admin_guide/07-file-systems.it.md
+++ b/docs/books/admin_guide/07-file-systems.it.md
@@ -9,19 +9,19 @@ tags:
# File System
-In questo capitolo imparerai come lavorare con i filesystems.
+In questo capitolo si imparerà a lavorare con i file system.
-****
+---
**Obiettivi**: in questo capitolo i futuri amministratori Linux impareranno a:
-:heavy_check_mark: gestire le partizioni su disco;
-:heavy_check_mark: utilizzare LVM per un migliore utilizzo delle risorse del disco;
+:heavy_check_mark: gestire le partizioni su disco;
+:heavy_check_mark: utilizzare LVM per un migliore utilizzo delle risorse del disco;
:heavy_check_mark: fornire agli utenti un filesystem e gestire i diritti di accesso.
e scoprire anche:
-:heavy_check_mark: come è organizzata la struttura ad albero in Linux;
+:heavy_check_mark: come è organizzata la struttura ad albero in Linux;
:heavy_check_mark: i diversi tipi di file offerti e come lavorare con essi;
:checkered_flag: **hardware**, **disco**, **partizione**, **lvm**, **linux**
@@ -31,27 +31,27 @@ e scoprire anche:
**Tempo di lettura**: 20 minuti
-****
+---
## Partizionamento
-Il partizionamento consente l'installazione di diversi sistemi operativi, poiché è impossibile far convivere più sistemi operativi sulla stessa unità logica. Il partizionamento consente anche di separare i dati dal punto di vista logico (sicurezza, ottimizzazione degli accessi, ...).
+Il partizionamento consente l'installazione di diversi sistemi operativi, poiché non è possibile che coabitino sulla stessa unità logica. Permette inoltre di separare i dati dal punto di vista logico (sicurezza, ottimizzazione degli accessi, ecc.).
-La divisione del disco fisico in volumi partizionati è registrata nella tabella delle partizioni, memorizzata nel primo settore del disco (MBR: _Master Boot Record_).
+La tabella delle partizioni, memorizzata nel primo settore del disco (MBR: *Master Boot Record*), registra la divisione del disco fisico in volumi partizionati.
Per i formati di tabelle di partizione **MBR**, lo stesso disco fisico può essere suddiviso in un massimo di 4 partizioni:
-* *Partizione primaria* (o partizione principale)
-* *Partizione estesa*
+- *Partizione primaria* (o partizione principale)
+- *Partizione estesa*
!!! Warning "Attenzione"
- Per ogni disco fisico può esserci una sola partizione estesa, cioè un disco fisico può avere nella tabella delle partizioni MBR fino a un massimo di:
+ Ci può essere solo una partizione estesa per disco fisico. Cioè, un disco fisico può avere nella tabella delle partizioni MBR fino a:
1. Tre partizioni primarie più una partizione estesa
2. Quattro partizioni primarie
- La partizione estesa non può scrivere dati e formattare e può contenere solo partizioni logiche. Il disco fisico più grande che può essere riconosciuto dalla tabella delle partizioni MBR è di **2 TB**.
+ La partizione estesa non può scrivere dati ne essere formattata e può contenere solo partizioni logiche. Il disco fisico più grande che la tabella di partizione MBR può riconoscere è di **2TB**.

@@ -74,7 +74,7 @@ Nel mondo di GNU/Linux, tutto è un file. Per i dischi, vengono riconosciuti dal
Il kernel Linux contiene i driver per la maggior parte dei dispositivi hardware.
-Quelli che chiamiamo _dispositivi_ sono i file, memorizzati senza `/dev`, che identificano i diversi hardware rilevati dalla scheda madre.
+Quelli che chiamiamo *dispositivi* sono i file memorizzati senza `/dev`, che identificano i diversi hardware rilevati dalla scheda madre.
Il servizio udev è responsabile dell'applicazione delle convenzioni di denominazione (regole) e della loro applicazione ai dispositivi rilevati.
@@ -94,7 +94,7 @@ Esistono almeno due comandi per il partizionamento di un disco: `fdisk` e `cfdis
L'unica ragione per usare `fdisk` è quando si vogliono elencare tutti i dispositivi logici con l'opzione `-l`. `fdisk` utilizza tabelle di partizione MBR, pertanto non è supportato per le tabelle di partizione **GPT** e non può essere usato per dischi di dimensioni superiori a **2 TB**.
-```
+```bash
sudo fdisk -l
sudo fdisk -l /dev/sdc
sudo fdisk -l /dev/sdc2
@@ -102,35 +102,35 @@ sudo fdisk -l /dev/sdc2
### comando `parted`
-Il comando `parted` (_partition editor_) è in grado di partizionare un disco senza gli inconvenienti di `fdisk`.
+Il comando `parted` (*partition editor*) è in grado di partizionare un disco senza gli inconvenienti 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.
-```
+```bash
parted [-l] [device]
```
-Come interfaccia grafica, c'è il completissimo strumento `gparted`: *Gnome* *PARtition* *EDitor*.
+Sotto l'interfaccia grafica, c'è l'interfaccia completa di `gparted`: *Gnome* *PARtition* *EDitor*.
Il comando `gparted -l` elenca tutti i dispositivi logici di un computer.
Il comando `gparted`, se eseguito senza argomenti, mostrerà una modalità interattiva con le sue opzioni interne:
-* `help` o un comando errato visualizzerà queste opzioni.
-* `print all` in questa modalità avrà lo stesso risultato di `gparted -l` dalla riga di comando.
-* `quit` per tornare al prompt.
+- `help` o un comando errato visualizzerà queste opzioni.
+- `print all` in questa modalità avrà lo stesso risultato di `gparted -l` dalla riga di comando.
+- `quit` per tornare al prompt.
### comando `cfdisk`
Il comando `cfdisk` viene utilizzato per gestire le partizioni.
-```
+```bash
cfdisk device
```
Esempio:
-```
+```bash
$ sudo cfdisk /dev/sda
Disk: /dev/sda
Size: 16 GiB, 17179869184 bytes, 33554432 sectors
@@ -149,35 +149,35 @@ $ sudo cfdisk /dev/sda
[ Write ] [ Dump ]
```
-La preparazione, senza _LVM_, dei supporti fisici avviene in cinque fasi:
+La preparazione, senza *LVM*, dei supporti fisici avviene in cinque fasi:
-* Impostazione del disco fisico;
-* Partizionamento dei volumi (divisione del disco, possibilità di installare più sistemi, ...);
-* Creazione dei file system (permette al sistema operativo di gestire i file, la struttura ad albero, i diritti, ...);
-* Montaggio dei file system (registrazione del file system nella struttura ad albero);
-* Gestire l'accesso degli utenti.
+- Impostazione del disco fisico;
+- Partizionamento dei volumi (divisione del disco, possibilità di installare più sistemi, ...);
+- Creazione dei file system (permette al sistema operativo di gestire i file, la struttura ad albero, i diritti, ...);
+- Montaggio dei file system (registrazione del file system nella struttura ad albero);
+- Gestire l'accesso degli utenti.
## Gestore di volumi logici (LVM)
**L**ogical **V**olume **M**anager (*LVM]*)
-La partizione creata dalla **partizione standard** non può regolare dinamicamente le risorse del disco rigido; una volta montata la partizione, la capacità è completamente fissa, questo vincolo è inaccettabile per il server. Anche se la partizione standard può essere espansa o ridotta forzatamente con alcuni mezzi tecnici, è facile che si verifichi una perdita di dati. LVM può risolvere questo problema molto bene. LVM è disponibile in Linux dalla versione 2.4 del kernel e le sue caratteristiche principali sono:
+La partizione creata dalla **partizione standard** non può regolare dinamicamente le risorse del disco rigido; una volta montata la partizione, la capacità è completamente fissa, questo vincolo è inaccettabile per il server. Anche se la partizione standard può essere espansa o ridotta forzatamente con alcuni accorgimenti tecnici, ciò può causare facilmente la perdita di dati. LVM può risolvere questo problema molto bene. LVM è disponibile in Linux dalla versione 2.4 del kernel e le sue caratteristiche principali sono:
-* Capacità del disco più flessibile;
-* Movimento di dati online;
-* Dischi in modalità _stripe_;
-* Volumi Mirrored (ricopiati);
-* Istantanee del volume_(snapshot_).
+- Capacità del disco più flessibile;
+- Movimento di dati online;
+- Dischi in modalità *stripe*;
+- Volumi Mirrored (ricopiati);
+- Istantanee del volume*(snapshot*).
Il principio di LVM è molto semplice:
-* tra il disco fisico (o la partizione del disco) e il file system viene aggiunto un livello di astrazione logica
-* unire più dischi (o partizioni di dischi) in un Gruppo di Volumi**(VG**)
-* eseguire le operazioni di gestione del disco su di essi attraverso una funzionalità chiamata Logical Volume**(LV**).
+- tra il disco fisico (o la partizione del disco) e il file system viene aggiunto un livello di astrazione logica
+- unire più dischi (o partizioni di dischi) in un Gruppo di Volumi**(VG**)
+- eseguire le operazioni di gestione del disco su di essi attraverso una funzionalità chiamata Logical Volume**(LV**).
**Il supporto fisico**: Il supporto di memorizzazione di LVM può essere l'intero disco rigido, una partizione del disco o un array RAID. Il dispositivo deve essere convertito, o inizializzato, in LVM Physical Volume (**PV**), prima di poter eseguire ulteriori operazioni.
-**PV (Physical Volume)**: Il blocco logico di archiviazione di base di LVM. Per creare un volume fisico, è possibile utilizzare una partizione del disco o il disco stesso.
+**PV (Physical Volume)** è il blocco logico di archiviazione di base di LVM. È possibile creare un volume fisico utilizzando una partizione del disco o il disco stesso.
**VG (Volume Group)**: Simile ai dischi fisici di una partizione standard, un VG è costituito da uno o più PV.
@@ -185,7 +185,7 @@ Il principio di LVM è molto semplice:
PE: L'unità di memoria più piccola che può essere allocata in un volume fisico, per impostazione predefinita 4MB. È possibile specificare una dimensione aggiuntiva.
-LE: La più piccola unità di memoria che può essere allocata in un Logical Volume. Nella stessa VG, PE e LE sono uguali e corrispondono uno a uno.
+LE: La più piccola unità di memoria che può essere allocata in un Logical Volume. Nello stesso VG, PE e LE sono uguali e corrispondono uno a uno.

@@ -193,19 +193,19 @@ Lo svantaggio è che se uno dei volumi fisici va fuori servizio, tutti i volumi
!!! note "Nota"
- LVM è gestito solo dal sistema operativo. Pertanto il _BIOS_ ha bisogno di almeno una partizione senza LVM per l'avvio.
+ LVM è gestito solo dal sistema operativo. Pertanto il *BIOS* ha bisogno di almeno una partizione senza LVM per l'avvio.
!!! info "Informazione"
- Nel disco fisico, l'unità di memorizzazione più piccola è il **sector**; nel file system, l'unità di memorizzazione più piccola di GNU/Linux è il **block**, che è chiamato **cluster** nel sistema operativo Windows; nel RAID, l'unità di memorizzazione più piccola è il **chunk**.
+ Nel disco fisico, l'unità di memorizzazione più piccola è il **settore**, nel file system, l'unità di memorizzazione più piccola di GNU/Linux è il **blocco**, che è chiamato **cluster** nel sistema operativo Windows. In RAID, l'unità di memorizzazione più piccola si chiama **chunk**.
### Il Meccanismo di Scrittura di LVM
Per l'archiviazione dei dati in **LV** esistono diversi meccanismi di memorizzazione, due dei quali sono:
-* Volumi lineari;
-* Volumi in modalità _stripe_;
-* Volumi Mirrored.
+- Volumi lineari;
+- Volumi in modalità *stripe*;
+- Volumi Mirrored.

@@ -229,20 +229,20 @@ I principali comandi rilevanti sono i seguenti:
Il comando `pvcreate` viene utilizzato per creare volumi fisici. Trasforma le partizioni (o i dischi) di Linux in volumi fisici.
-```
+```bash
pvcreate [-opzioni] partizione
```
Esempio:
-```
+```bash
[root]# pvcreate /dev/hdb1
pvcreate -- physical volume « /dev/hdb1 » successfully created
```
È anche possibile utilizzare un disco intero (il che facilita l'aumento delle dimensioni del disco in ambienti virtuali, ad esempio).
-```
+```bash
[root]# pvcreate /dev/hdb
pvcreate -- physical volume « /dev/hdb » successfully created
@@ -257,15 +257,15 @@ pvcreate -- physical volume « /dev/hdb » successfully created
#### comando `vgcreate`
-Il comando `vgcreate` viene utilizzato per creare gruppi di volumi. Raggruppa uno o più volumi fisici in un gruppo di volumi.
+Il comando `vgcreate` crea gruppi di volumi. Raggruppa uno o più volumi fisici in un gruppo di volumi.
-```
-vgcreate [opzione]
+```bash
+vgcreate [opzione]
```
Esempio:
-```
+```bash
[root]# vgcreate volume1 /dev/hdb1
…
vgcreate – volume group « volume1 » successfully created and activated
@@ -278,13 +278,13 @@ 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
```
@@ -292,7 +292,7 @@ lvcreate -- logical volume « /dev/volume1/VolLog1 » successfully created
| Opzione | Descrizione |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `-L size` | Imposta la dimensione del volume logico in K, M o G. |
-| `-n name` | Imposta il nome del LV. File speciale creato in `/dev/nome_volume` con questo nome. |
+| `-n name` | Imposta il nome del LV. Con questo nome è stato creato un file speciale in `/dev/name_volume`. |
| `-l numero` | Imposta la percentuale della capacità del disco rigido da utilizzare. È possibile utilizzare anche il numero di PE. Un PE equivale a 4 MB. |
!!! info "Informazione"
@@ -305,13 +305,13 @@ lvcreate -- logical volume « /dev/volume1/VolLog1 » successfully created
Il comando `pvdisplay` consente di visualizzare le informazioni sui volumi fisici.
-```
+```bash
pvdisplay /dev/PV_name
```
Esempio:
-```
+```bash
[root]# pvdisplay /dev/PV_name
```
@@ -319,13 +319,13 @@ Esempio:
Il comando `vgdisplay` consente di visualizzare le informazioni sui gruppi di volumi.
-```
+```bash
vgdisplay VG_name
```
Esempio:
-```
+```bash
[root]# vgdisplay volume1
```
@@ -333,13 +333,13 @@ Esempio:
Il comando `lvdisplay` consente di visualizzare le informazioni sui volumi logici.
-```
+```bash
lvdisplay /dev/VG_name/LV_name
```
Esempio:
-```
+```bash
[root]# lvdisplay /dev/volume1/VolLog1
```
@@ -347,23 +347,23 @@ Esempio:
La preparazione con LVM del supporto fisico si articola come segue:
-* Impostazione del disco fisico
-* Partizione dei volumi
-* **Volume fisico LVM**
-* **Gruppi di volumi LVM**
-* **Volumi logici LVM**
-* Creazione di file system
-* Montaggio dei file system
-* Gestire l'accesso degli utenti
+- Impostazione del disco fisico
+- Partizione dei volumi
+- **Volume fisico LVM**
+- **Gruppi di volumi LVM**
+- **Volumi logici LVM**
+- Creazione di file system
+- Montaggio dei file system
+- Gestire l'accesso degli utenti
## Struttura di un file system
-Un **FS** del _file system_ è responsabile delle seguenti azioni:
+Un *file system* **FS** è responsabile delle seguenti azioni:
-* Protezione dei diritti di accesso e modifica dei file;
-* Manipolazione dei file: creazione, lettura, modifica e cancellazione;
-* Individuazione dei file sul disco;
-* Gestione dello spazio della partizione.
+- Protezione dei diritti di accesso e modifica dei file;
+- Manipolazione dei file: creazione, lettura, modifica e cancellazione;
+- Individuazione dei file sul disco;
+- Gestione dello spazio della partizione.
Il sistema operativo Linux è in grado di utilizzare diversi file system (ext2, ext3, ext4, FAT16, FAT32, NTFS, HFS, BtrFS, JFS, XFS, ...).
@@ -371,13 +371,13 @@ Il sistema operativo Linux è in grado di utilizzare diversi file system (ext2,
Il comando `mkfs`(make file system) consente di creare un file system Linux.
-```
+```bash
mkfs [-t fstype] filesys
```
Esempio:
-```
+```bash
[root]# mkfs -t ext4 /dev/sda1
```
@@ -389,7 +389,7 @@ Esempio:
Senza un file system non è possibile utilizzare lo spazio su disco.
-Ogni file system ha una struttura identica su ogni partizione. Un **Boot Sector** e un **Super block** inizializzati dal sistema, quindi una **Inode table** e un **Data block** inizializzati dall'amministratore.
+Ogni file system ha una struttura identica su ogni partizione. Il sistema inizializza un **Boot Sector** e un **Super block**, quindi l'amministratore inizializza una **tabella Inode** e un **Data block**.
!!! Note "Nota"
@@ -397,17 +397,17 @@ Ogni file system ha una struttura identica su ogni partizione. Un **Boot Sector*
### Boot sector
-Il boot sector è il primo settore del supporto di memorizzazione avviabile, ovvero cilindro 0, traccia 0, settore 1 (1 settore equivale a 512 byte). Si compone di tre parti:
+Il settore di avvio è il primo settore del supporto di memorizzazione avviabile, ovvero cilindro 0, traccia 0, settore 1 (1 settore equivale a 512 byte). Si compone di tre parti:
1. MBR (master boot record): 446 byte.
2. DPT (tabella di partizione del disco): 64 byte.
3. BRID (boot record ID): 2 byte.
-| Elemento | Descrizione |
-| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| MBR | Memorizza il "boot loader" (o "GRUB"); carica il kernel, passa i parametri; fornisce un'interfaccia di menu all'avvio; trasferisce a un altro loader, ad esempio quando sono installati più sistemi operativi. |
-| DPT | Registra lo stato della partizione dell'intero disco. |
-| BRID | Determina se il dispositivo è utilizzabile per l'avvio. |
+| Elemento | Descrizione |
+| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| MBR | Memorizza il "boot loader" (o "GRUB"); carica il kernel, passa i parametri; fornisce un'interfaccia di menu all'avvio; si trasferisce a un altro loader, ad esempio quando sono installati più sistemi operativi. |
+| DPT | Registra lo stato della partizione dell'intero disco. |
+| BRID | Determina se il dispositivo è utilizzabile per l'avvio. |
### Super block
@@ -415,19 +415,19 @@ La dimensione della tabella del **Super block** è definita al momento della cre
Descrive il File System:
-* Nome del Volume Logico;
-* Nome del File System;
-* Tipo di File System;
-* Stato del File System;
-* Dimensione del File System;
-* Numero di blocchi liberi;
-* Puntatore all'inizio dell'elenco dei blocchi liberi;
-* Dimensione dell'elenco di inode;
-* Numero ed elenco degli inode liberi.
+- Nome del Volume Logico;
+- Nome del File System;
+- Tipo di File System;
+- Stato del File System;
+- Dimensione del File System;
+- Numero di blocchi liberi;
+- Puntatore all'inizio dell'elenco dei blocchi liberi;
+- Dimensione dell'elenco di inode;
+- Numero ed elenco degli inode liberi.
-Una copia viene caricata nella memoria centrale non appena il sistema viene inizializzato. Questa copia viene aggiornata non appena viene modificata e il sistema la salva periodicamente ( comando `sync`).
+Dopo l'inizializzazione del sistema, una copia viene caricata nella memoria centrale. Questa copia viene aggiornata non appena viene modificata e il sistema la salva periodicamente (comando `sync`).
-Quando il sistema si arresta, copia anche questa tabella in memoria nel suo blocco.
+Quando il sistema si arresta, copia questa tabella in memoria nel suo blocco.
### Tabella degli inode
@@ -437,9 +437,9 @@ La dimensione della **tabella degli inode** è definita al momento della sua cre
Il numero di inode è unico all'interno di un file system.
-Una copia viene caricata nella memoria centrale non appena il sistema viene inizializzato. Questa copia viene aggiornata non appena viene modificata e il sistema la salva periodicamente ( comando `sync`).
+Dopo l'inizializzazione del sistema, una copia viene caricata nella memoria centrale. Questa copia viene aggiornata non appena viene modificata e il sistema la salva periodicamente (comando `sync`).
-Quando il sistema si arresta, copia anche questa tabella in memoria nel suo blocco.
+Quando il sistema si arresta, copia questa tabella in memoria nel suo blocco.
Un file è gestito dal suo numero di inode.
@@ -449,26 +449,26 @@ Un file è gestito dal suo numero di inode.
Informazioni presenti nella *tabella degli inode*:
-* Numero di inode;
-* Tipo di file e autorizzazioni di accesso;
-* Numero di identificazione del proprietario;
-* Numero di identificazione del gruppo proprietario;
-* Numero di collegamenti in questo file;
-* Dimensione del file in byte;
-* Data dell'ultimo accesso al file;
-* Data dell'ultima modifica del file;
-* Data dell'ultima modifica dell'inode (= creazione);
-* Tabella di diversi puntatori (tabella dei blocchi) ai blocchi logici contenenti i pezzi del file.
+- Numero di inode;
+- Tipo di file e autorizzazioni di accesso;
+- Numero di identificazione del proprietario;
+- Numero di identificazione del gruppo proprietario;
+- Numero di collegamenti in questo file;
+- Dimensione del file in byte;
+- Data dell'ultimo accesso al file;
+- Data dell'ultima modifica del file;
+- Data dell'ultima modifica dell'inode (= creazione);
+- Tabella di diversi puntatori (tabella dei blocchi) ai blocchi logici contenenti i pezzi del file.
### Data block
-La sua dimensione corrisponde al resto dello spazio disponibile della partizione. Quest'area contiene i cataloghi corrispondenti a ciascuna directory e i blocchi di dati corrispondenti ai contenuti dei file.
+La sua dimensione corrisponde al resto dello spazio disponibile della partizione. Quest'area contiene i cataloghi corrispondenti a ciascuna directory e i blocchi di dati corrispondenti al contenuto del file.
**Per garantire la coerenza del file system**, un'immagine del superblocco e della tabella degli inode viene caricata in memoria (RAM) al momento del caricamento del sistema operativo, in modo che tutte le operazioni di I/O vengano effettuate attraverso queste tabelle di sistema. Quando l'utente crea o modifica i file, questa immagine di memoria viene aggiornata per prima. Il sistema operativo deve quindi aggiornare regolarmente il superblocco del disco logico`(` comando`sync` ).
Queste tabelle vengono scritte sul disco rigido quando il sistema viene spento.
-!!! danger "Attenzione"
+!!! danger "Attenzione"
In caso di arresto improvviso, il file system potrebbe perdere la sua consistenza e causare la perdita di dati.
@@ -476,25 +476,25 @@ Queste tabelle vengono scritte sul disco rigido quando il sistema viene spento.
È possibile verificare la consistenza di un file system con il comando `fsck`.
-In caso di errori, vengono proposte soluzioni per riparare le incongruenze. Dopo la riparazione, i file che rimangono senza voci nella tabella degli inode vengono allegati alla cartella `/lost+found` dell'unità logica.
+In caso di errori, vengono proposte soluzioni per riparare le incongruenze. Dopo la riparazione, i file che rimangono senza voci nella tabella degli inode vengono inseriti nella cartella `/lost+found` dell'unità logica.
#### comando `fsck`
Il comando `fsck` è uno strumento di controllo e riparazione dell'integrità in modalità console per i file system di 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
@@ -513,40 +513,40 @@ Per definizione, un file system è una struttura ad albero di directory costruit
!!! Note "Nota"
- In Linux tutto è un file.
+ In Linux, ogni cosa è un file.
Documento di testo, directory, binario, partizione, risorsa di rete, schermo, tastiera, kernel Unix, programma utente, ...
-Linux rispetta lo standard **FHS**_(Filesystems Hierarchy Standard_) (vedi `man hier`) che definisce i nomi delle cartelle e i loro ruoli.
-
-| Directory | Funzionalità | Abbreviazione di |
-| ---------- | ---------------------------------------------------------------------- | --------------------------------------- |
-| `/` | Contiene directory speciali | |
-| `/boot` | File relativi all'avvio del sistema | |
-| `/sbin` | Comandi necessari per l'avvio e la riparazione del sistema | _binari di sistema_ |
-| `/bin` | Eseguibili dei comandi di base del sistema | _binari_ |
-| `/usr/bin` | Comandi di amministrazione del sistema | |
-| `/lib` | Librerie condivise e moduli del kernel | _librerie_ |
-| `/usr` | Tutto ciò che non è necessario per il funzionamento minimo del sistema | _Risorse di sistema UNIX_ |
-| `/mnt` | Per il montaggio di SF temporanei | _mount_ |
-| `/media` | Per il montaggio di supporti rimovibili | |
-| `/misc` | Per montare la directory condivisa del servizio NFS. | |
-| `/root` | Directory di accesso dell'amministratore | |
-| `/home` | Dati utente | |
-| `/tmp` | File temporanei | _temporanei_ |
-| `/dev` | File speciali del dispositivo | _dispositivo_ |
-| `/etc` | File di configurazione e scripts | _configurazione del testo modificabile_ |
-| `/opt` | Specifico per le applicazioni installate | _opzionale_ |
-| `/proc` | File system virtuale che rappresenta diversi processi | _processi_ |
-| `/var` | File variabili vari | _variabili_ |
-| `/sys` | File system virtuale, simile a /proc | |
-| `/run` | Questo è /var/run | |
-| `/srv` | Service Data Directory | _servizio_ |
-
-* Per eseguire un montaggio o uno smontaggio, a livello di albero, non ci si deve trovare sotto il suo punto di montaggio.
-* Il montaggio su una directory non vuota non cancella il contenuto. È solo nascosta.
-* Solo l'amministratore può eseguire il montaggio.
-* I punti di montaggio da montare automaticamente all'avvio devono essere inseriti in `/etc/fstab`.
+Linux rispetta lo standard **FHS** (*Filesystems Hierarchy Standard*) (vedere `man hier`), che definisce i nomi e i ruoli delle cartelle.
+
+| Directory | Funzionalità | Parola completa |
+| ---------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
+| `/` | Contiene directory speciali | |
+| `/boot` | File relativi all'avvio del sistema | |
+| `/sbin` | Comandi necessari per l'avvio e la riparazione del sistema | *binari di sistema* |
+| `/bin` | Eseguibili dei comandi di base del sistema | *binari* |
+| `/usr/bin` | Comandi di amministrazione del sistema | |
+| `/lib` | Librerie condivise e moduli del kernel | *librerie* |
+| `/usr` | Conserva le risorse di dati relative a UNIX | *Risorse di sistema UNIX* |
+| `/mnt` | Directory del mount point temporaneo | *mount* |
+| `/media` | Per il montaggio di supporti rimovibili | |
+| `/misc` | Per montare la directory condivisa del servizio NFS. | |
+| `/root` | Directory di accesso dell'amministratore | |
+| `/home` | La directory di livello superiore della home directory di un utente comune | |
+| `/tmp` | La directory contenente i file temporanei | *temporanei* |
+| `/dev` | File speciali del dispositivo | *dispositivo* |
+| `/etc` | File di configurazione e scripts | *configurazione del testo modificabile* |
+| `/opt` | Specifico per le applicazioni installate | *opzionale* |
+| `/proc` | Si tratta di un punto di montaggio per il filesystem proc, che fornisce informazioni sui processi in esecuzione e sul kernel | *processi* |
+| `/var` | Questa directory contiene file che possono cambiare di dimensione, come i file di spool e di log | *variabili* |
+| `/sys` | File system virtuale, simile a /proc | |
+| `/run` | Questo è /var/run | |
+| `/srv` | Service Data Directory | *servizio* |
+
+- Per montare o smontare a livello di albero, non bisogna trovarsi sotto il suo punto di montaggio.
+- Il montaggio su una directory non vuota non cancella il contenuto. È solo nascosta.
+- Solo l'amministratore può eseguire il montaggio.
+- I punti di montaggio montati automaticamente all'avvio devono essere inseriti in `/etc/fstab`.
### file `/etc/fstab`
@@ -556,7 +556,7 @@ Il file `/etc/fstab` viene letto all'avvio del sistema e contiene i montaggi da
Le righe vengono 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
@@ -567,24 +567,24 @@ proc /proc proc defaults 0 0
1 2 3 4 5 6
```
-| Colonna | Descrizione |
-| ------- | -------------------------------------------------------------------------------------------------------------------- |
-| 1 | Dispositivo del file system`(/dev/sda1`, UUID=..., ...) |
-| 2 | Nome del punto di montaggio, **percorso assoluto** (eccetto **swap**) |
-| 3 | Tipo di filesystem (ext4, swap, ...) |
-| 4 | Opzioni speciali per il montaggio (`default`, `ro`, ...) |
-| 5 | Abilitare o disabilitare la gestione del backup (0:non eseguito il backup, 1:eseguito il backup) |
-| 6 | Ordine di controllo quando si controlla lo SF con il comando `fsck` (0:nessun controllo, 1:priorità, 2:non priorità) |
+| Colonna | Descrizione |
+| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| 1 | Dispositivo del file system`(/dev/sda1`, UUID=..., ...) |
+| 2 | Nome del punto di montaggio, **percorso assoluto** (eccetto **swap**) |
+| 3 | Tipo di filesystem (ext4, swap, ...) |
+| 4 | Opzioni speciali per il montaggio (`default`, `ro`, ...) |
+| 5 | Abilita o disabilita la gestione dei backup (0:non eseguiti, 1:eseguiti). Per il backup viene utilizzato il comando `dump`. Questa funzione obsoleta è stata inizialmente progettata per eseguire il backup di vecchi file system su nastro. |
+| 6 | Ordine di controllo quando si controlla lo SF con il comando `fsck` (0:nessun controllo, 1:priorità, 2:non priorità) |
-Il comando `mount -a` consente di eseguire il montaggio automatico in base al contenuto del file di configurazione `/etc/fstab`; le informazioni montate vengono poi scritte in `/etc/mtab`.
+Il comando `mount -a` consente di eseguire il montaggio automatico in base al contenuto del file di configurazione `/etc/fstab`. Le informazioni sul montaggio vengono quindi scritte in `/etc/mtab`.
!!! Warning "Attenzione"
- Solo i punti di montaggio elencati in `/etc/fstab` saranno montati al riavvio. In generale, si sconsiglia di scrivere le unità flash USB e i dischi rigidi rimovibili nel file `/etc/fstab`, perché quando il dispositivo esterno viene scollegato e riavviato, il sistema segnalerà che il dispositivo non può essere trovato, con conseguente mancato avvio. Quindi cosa dovrei fare? Montaggio temporaneo, ad esempio:
+ Solo i punti di montaggio elencati in `/etc/fstab` saranno montati al riavvio. In generale, si sconsiglia di scrivere i dischi flash USB e i dischi rigidi rimovibili nel file `/etc/fstab` perché quando il dispositivo esterno viene scollegato e riavviato, il sistema segnala che il dispositivo non può essere trovato, con conseguente mancato avvio. Quindi cosa dovrei fare? Montaggio temporaneo, ad esempio:
```bash
- Shell > mkdir /mnt/usb
- Shell > mount -t vfat /dev/sdb1 /mnt/usb
+ Shell > mkdir /mnt/usb
+ Shell > mount -t vfat /dev/sdb1 /mnt/usb
# Read the information of the USB flash disk
Shell > cd /mnt/usb/
@@ -604,40 +604,40 @@ Il comando `mount -a` consente di eseguire il montaggio automatico in base al co
Il comando `mount` consente di montare e visualizzare le unità logiche nella struttura.
-```
+```bash
mount [-option] [device] [directory]
```
Esempio:
-```
+```bash
[root]# mount /dev/sda7 /home
```
-| Opzione | Descrizione |
-| ------- | ------------------------------------------------------------------------------------------------ |
-| `-n` | Imposta il montaggio senza scrivere in `/etc/mtab`. |
-| `-t` | Indica il tipo di file system da utilizzare. |
-| `-a` | Monta tutti i filesystem menzionati in `/etc/fstab`. |
-| `-r` | Monta il file system in sola lettura (equivalente a `-o ro`). |
-| `-w` | Monta il file system in lettura/scrittura, per impostazione predefinita (equivalente a `-o rw`). |
-| `-o` | Argomento seguito da un elenco di opzioni separate da virgole (`remount`, `ro`, ...). |
+| Opzione | Descrizione |
+| --------- | ------------------------------------------------------------------------------------------------ |
+| `-n` | Imposta il montaggio senza scrivere in `/etc/mtab`. |
+| `-t` | Indica il tipo di file system da utilizzare. |
+| `-a` | Monta tutti i filesystem menzionati in `/etc/fstab`. |
+| `-r` | Monta il file system in sola lettura (equivalente a `-o ro`). |
+| `-w` | Monta il file system in lettura/scrittura, per impostazione predefinita (equivalente a `-o rw`). |
+| `-o opts` | L'argomento opts è un elenco separato da virgole (`remount`, `ro`, ...). |
!!! Note "Nota"
- Il solo comando `mount` visualizza tutti i file system montati.
+ Il solo comando `mount` visualizza tutti i file system montati. Se il parametro di mount è `-o defaults`, è equivalente a `-o rw,suid,dev,exec,auto,nouser,async` e questi parametri sono indipendenti dal file system. Se è necessario consultare le opzioni di montaggio speciali relative al file system, leggere la sezione "Opzioni di montaggio FS-TYPE" in `man 8 mount` (FS-TYPE viene sostituito dal file system corrispondente, come ntfs, vfat, ufs, ecc.)
#### comando `umount`
Il comando `umount` viene utilizzato per smontare le unità logiche.
-```
+```bash
umount [-option] [device] [directory]
```
Esempio:
-```
+```bash
[root]# umount /home
[root]# umount /dev/sda7
```
@@ -655,73 +655,73 @@ Esempio:
## Convenzione di denominazione dei file
-Come in ogni sistema, per potersi orientare nella struttura ad albero e nella gestione dei file, è importante rispettare le regole di denominazione dei file.
+Come in ogni sistema, è importante rispettare le regole di denominazione dei file per navigare nella struttura ad albero e nella gestione dei file.
-* I file sono codificati con 255 caratteri;
-* È possibile utilizzare tutti i caratteri ASCII;
-* Le lettere maiuscole e minuscole sono differenziate;
-* La maggior parte dei file non ha il concetto di estensione. Nel mondo GNU/Linux, la maggior parte delle estensioni dei file non è richiesta, tranne alcune (ad esempio, .jpg, .mp4, .gif, ecc.).
+- I file sono codificati con 255 caratteri;
+- È possibile utilizzare tutti i caratteri ASCII;
+- Le lettere maiuscole e minuscole sono differenziate;
+- La maggior parte dei file non ha un concetto di estensione. Nel mondo GNU/Linux, la maggior parte delle estensioni dei file non è richiesta, tranne alcune (ad esempio, .jpg, .mp4, .gif, ecc.).
I gruppi di parole separati da spazi devono essere racchiusi tra virgolette:
-```
+```bash
[root]# mkdir "working dir"
```
!!! Note "Nota"
- Sebbene non ci sia nulla di tecnicamente sbagliato nel creare un file o una directory con uno spazio al suo interno, è generalmente una "best practice" da evitare e sostituire ogni spazio con un trattino basso.
+ Anche se tecnicamente non c'è nulla di male nel creare un file o una directory con uno spazio, in genere è una "best practice" evitare questa situazione e sostituire ogni spazio con un trattino basso.
!!! Note "Nota"
- Il **.** all'inizio del nome del file serve solo a nasconderlo a un semplice `ls`.
+ Il **.** all'inizio del nome del file lo nasconde solo a un semplice `ls`.
Esempi di convenzione sull'estensione dei file:
-* `.c`: file sorgente in linguaggio C;
-* `.h`: file di intestazione C e Fortran;
-* `.o`: file oggetto in linguaggio C;
-* `.tar`: file di dati archiviati con l'utilità `tar`;
-* `.cpio`: file di dati archiviati con l'utilità `cpio`;
-* `.gz`: file di dati compressi con l'utilità `gzip`;
-* `.tgz`: file di dati archiviati con l'utilità `tar` e compressi con l'utilità `gzip`;
-* `.html`: pagina web.
+- `.c`: file sorgente in linguaggio C;
+- `.h`: file di intestazione C e Fortran;
+- `.o`: file oggetto in linguaggio C;
+- `.tar`: file di dati archiviati con l'utilità `tar`;
+- `.cpio`: file di dati archiviati con l'utilità `cpio`;
+- `.gz`: file di dati compressi con l'utilità `gzip`;
+- `.tgz`: file di dati archiviati con l'utilità `tar` e compressi con l'utilità `gzip`;
+- `.html`: pagina web.
### Dettagli del nome di un file
-```
+```bash
[root]# ls -liah /usr/bin/passwd
266037 -rwsr-xr-x 1 root 59K mars 22 2019 /usr/bin/passwd
1 2 3 4 5 6 7 8 9
```
-| Parte | Descrizione |
-| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `1` | Numero di inode |
-| `2` | Tipo di file (primo carattere del blocco di 10), "-" significa che si tratta di un file ordinario. |
-| `3` | Diritti di accesso (ultimi 9 caratteri del blocco di 10) |
-| `4` | Se si tratta di una directory, questo numero rappresenta il numero di sottodirectory presenti nella directory, comprese quelle nascoste. Se si tratta di un file, indica il numero di collegamenti, quando il numero è 1, ovvero, c'è un solo collegamento, quello relativo al file stesso. |
-| `5` | Nome del proprietario |
-| `6` | Nome del gruppo |
-| `7` | Dimensione (byte, kilo, mega) |
-| `8` | Data dell'ultimo aggiornamento |
-| `9` | Nome del file |
+| Parte | Descrizione |
+| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `1` | Numero di inode |
+| `2` | Tipo di file (primo carattere del blocco di 10), "-" significa che si tratta di un file ordinario. |
+| `3` | Diritti di accesso (ultimi 9 caratteri del blocco di 10) |
+| `4` | Se si tratta di una directory, questo numero rappresenta il numero di sottodirectory presenti nella directory, comprese quelle nascoste. Se si tratta di un file, indica il numero di collegamenti diretti. Quando c'è il numero 1, c'è un solo collegamento fisso. |
+| `5` | Nome del proprietario |
+| `6` | Nome del gruppo |
+| `7` | Dimensione (byte, kilo, mega) |
+| `8` | Data dell'ultimo aggiornamento |
+| `9` | Nome del file |
Nel mondo GNU/Linux esistono 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. |
-| **b** | Rappresenta un file di dispositivo a blocchi. Include tutti i tipi di dischi rigidi, unità USB e così via. |
-| **c** | Rappresenta un file di dispositivo di caratteri. Dispositivo di interfaccia della porta seriale, come il mouse, la tastiera, ecc. |
-| **s** | Rappresenta un file socket. Si tratta di un file appositamente utilizzato per la comunicazione di rete. |
-| **p** | Rappresenta un file pipe. È un tipo di file speciale. Lo scopo principale è quello di risolvere gli errori causati da più programmi che accedono a un file contemporaneamente. FIFO è l'abbreviazione del 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. |
+| 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. |
+| **b** | Rappresenta un file di dispositivo a blocchi. Comprende dischi rigidi, unità USB e così via. |
+| **c** | Rappresenta un file di dispositivo di caratteri. Dispositivo di interfaccia della porta seriale, come il mouse, la tastiera, ecc. |
+| **s** | Rappresenta un file socket. Si tratta di un file appositamente utilizzato per la comunicazione di rete. |
+| **p** | Rappresenta un file pipe. È un tipo di file speciale. Lo scopo principale è quello di risolvere gli errori causati dall'accesso simultaneo di più programmi a un file. FIFO è l'abbreviazione del 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. |
#### Descrizione supplementare della directory
-In ogni directory ci sono due file nascosti: **.** e **..**. È necessario utilizzare `ls -al` per visualizzarli, ad esempio:
+Ogni directory ha due file nascosti: **.** e **..**. È necessario utilizzare `ls -al` per visualizzarli, ad esempio:
```bash
# . Indica che nella directory corrente, ad esempio, è necessario eseguire uno script in una directory, di solito:
@@ -741,14 +741,14 @@ Shell > ls -ldi /tmp/t1
#### File speciali
-Per comunicare con le periferiche (dischi rigidi, stampanti...), Linux utilizza dei file di interfaccia chiamati file speciali (_device file_ o _special file_). Consentono l'identificazione da parte delle periferiche.
+Per comunicare con le periferiche (dischi rigidi, stampanti, ecc.), Linux utilizza file di interfaccia chiamati file speciali (*device file* o *special file*). Questi file consentono alle periferiche di identificarsi.
Questi file sono speciali perché non contengono dati, ma specificano la modalità di accesso per comunicare con il dispositivo.
Sono definiti in due modalità:
-* modalità **a blocchi**;
-* modalità a **carattere**.
+- modalità **a blocchi**;
+- modalità a **carattere**.
```bash
# Block device file
@@ -762,27 +762,27 @@ crw------- 1 root root 8, 0 jan 1 1970 /dev/tty0
#### File di comunicazione
-Si tratta dei file pipe (_pipes_) e _socket_.
+Si tratta dei file pipe (*pipes*) e *socket*.
-* I **file Pipe** passano le informazioni tra i processi tramite FIFO_(First In, First Out_). Un processo scrive informazioni transitorie su un file _pipe_ e un altro le legge. Dopo la lettura, le informazioni non sono più accessibili.
+- I **file Pipe** passano le informazioni tra i processi tramite FIFO (*First In, First Out*). Un processo scrive informazioni transitorie in un file *pipe* e un altro le legge. Dopo la lettura, le informazioni non sono più accessibili.
-* I **file socket** consentono la comunicazione bidirezionale tra processi (su sistemi locali o remoti). Utilizzano un _inode_ del file system.
+- I **file socket** consentono la comunicazione bidirezionale tra processi (su sistemi locali o remoti). Utilizzano un *inode* del file system.
#### File di collegamento
-Questi file danno la possibilità di assegnare diversi nomi logici allo stesso file fisico. Viene quindi creato un nuovo punto di accesso al file.
+Questi file consentono di assegnare diversi nomi logici allo stesso file fisico. Viene quindi creato un nuovo punto di accesso al file.
Esistono due tipi di file di collegamento:
-* File di collegamento soft, chiamato anche file di collegamento simbolico;
-* File di collegamento hard, chiamato anche file di collegamento fisico.
+- File di collegamento soft, detti anche file di collegamento simbolico;
+- File di collegamento hard, detti anche file di collegamento fisico.
Le loro caratteristiche principali sono:
-| Tipi di link | Descrizione |
-| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| file soft link | Una scorciatoia simile a quella di Windows. Ha un permesso di 777 e punta al file originale. Quando il file originale viene eliminato, il file collegato e il file originale vengono visualizzati in rosso. |
-| File hard link | Il file originale ha lo stesso numero di _inode_ del file collegato. Ha lo stesso numero _inode_ del file collegato fisicamente. Possono essere aggiornati in modo sincrono, includendo il contenuto del file e quando è stato modificato. Non è possibile attraversare le partizioni, né i file system. Non può essere utilizzato per le directory. |
+| Tipi di link | Descrizione |
+| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| file soft link | Una scorciatoia simile a quella di Windows. Ha un permesso di 777 e punta al file originale. Quando il file originale viene eliminato, il file collegato e il file originale vengono visualizzati in rosso. |
+| File hard link | Il file originale ha lo stesso numero di _inode_ del file collegato. Ha lo stesso numero *inode* del file collegato fisicamente. Possono essere aggiornati in modo sincrono, includendo il contenuto del file e quando è stato modificato. Non è possibile attraversare le partizioni, né i file system. Non può essere utilizzato per le directory. |
Esempi specifici sono i seguenti:
@@ -823,8 +823,8 @@ Linux è un sistema operativo multiutente in cui il controllo dell'accesso ai fi
Questi controlli sono funzioni di:
-* permessi di accesso ai file ;
-* utenti (_ugo_ _Users Groups Others_).
+- permessi di accesso ai file ;
+- utenti (*ugo* *Users Groups Others*).
### Permessi di base di file e directory
@@ -848,7 +848,7 @@ La descrizione dei **permessi delle directory** è la seguente:
!!! info "Informazione"
- Per i permessi di una directory, `r` e `x` di solito appaiono contemporaneamente. Lo spostamento o la ridenominazione di un file dipende dal fatto che la directory in cui si trova il file abbia il permesso `w`, così come l'eliminazione di un file.
+ Per i permessi di una directory, `r` e `x` di solito compaiono assieme. Lo spostamento o la ridenominazione di un file dipende dal fatto che la directory in cui si trova abbia i permessi `w', così come anche per l'eliminazione di un file.
### Tipo di utente corrispondente all'autorizzazione di base
@@ -866,7 +866,7 @@ La descrizione dei **permessi delle directory** è la seguente:
La visualizzazione dei diritti si effettua con il comando `ls -l`. Si tratta degli ultimi 9 caratteri di un 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
@@ -880,7 +880,7 @@ La visualizzazione dei diritti si effettua con il comando `ls -l`. Si tratta deg
| 4 | Proprietario del file |
| 5 | Gruppo proprietario del file |
-Per impostazione predefinita, il _proprietario_ di un file è colui che lo ha creato. Il _gruppo_ del file è il gruppo del proprietario che ha creato il file. Gli _altri_ sono quelli che non rientrano nei casi precedenti.
+Per impostazione predefinita, il *proprietario* di un file è colui che lo ha creato. Il *gruppo* del file è il gruppo del proprietario che ha creato il file. Gli *altri* sono quelli che non rientrano nei casi precedenti.
Gli attributi vengono modificati con il comando `chmod`.
@@ -890,7 +890,7 @@ Solo l'amministratore e il proprietario di un file possono modificarne i diritti
Il comando `chmod` consente di modificare i permessi di accesso a un file.
-```
+```bash
chmod [opzione] modalità file
```
@@ -925,7 +925,7 @@ Sommare i tre numeri per ottenere un'autorizzazione di tipo utente. ad es. **755
A volte si vedrà `chmod 4755`. Il numero 4 si riferisce al permesso speciale **set uid**. I permessi speciali non verranno per il momento ampliati in questa sede, ma solo come nozioni di base.
-```
+```bash
[root]# ls -l /tmp/fil*
-rwxrwx--- 1 root root … /tmp/file1
-rwx--x--- 1 root root … /tmp/file2
@@ -944,7 +944,7 @@ Questo metodo può essere considerato come un'associazione "letterale" tra un ti

-```
+```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
@@ -954,8 +954,8 @@ Questo metodo può essere considerato come un'associazione "letterale" tra un ti
Quando un file o una directory viene creata, ha già dei permessi.
-* Per una directory: `rwxr-xr-x` o _755_.
-* Per un file: `rw-r-r-` o _644_.
+- Per una directory: `rwxr-xr-x` o *755*.
+- Per un file: `rw-r-r-` o *644*.
Questo comportamento è definito dalla **maschera predefinita**.
@@ -971,7 +971,7 @@ Per un file, i diritti di esecuzione vengono rimossi:
!!! info "Informazione"
- Il file `/etc/login.defs' definisce l'UMASK predefinito, con un valore di **022**. Ciò significa che il permesso di creare un file è 755 (rwxr-xr-x). Tuttavia, per motivi di sicurezza, GNU/Linux non prevede il permesso **x** per i file appena creati; questa restrizione si applica a root (uid=0) e agli utenti ordinari (uid>=1000).
+ Il file `/etc/login.defs' definisce l'UMASK predefinito, con un valore di **022**. Ciò significa che il permesso di creare un file è 755 (rwxr-xr-x). Tuttavia, per motivi di sicurezza, GNU/Linux non prevede il permesso **x** per i file appena creati. Questa restrizione si applica a root (uid=0) e agli utenti ordinari (uid>=1000).
```bash
# root user
@@ -984,12 +984,13 @@ Per un file, i diritti di esecuzione vengono rimossi:
Il comando `umask` consente di visualizzare e modificare la maschera.
-```
+```bash
umask [opzione] [modalità]
```
Esempio:
-```
+
+```bash
$ umask 033
$ umask
0033
@@ -1026,11 +1027,11 @@ Per mantenere il valore, è necessario modificare i seguenti file di profilo:
Per tutti gli utenti:
-* `/etc/profile`
-* `/etc/bashrc`
+- `/etc/profile`
+- `/etc/bashrc`
Per un particolare utente:
-* `~/.bashrc`
+- `~/.bashrc`
Quando viene scritto il file di cui sopra, esso sovrascrive il parametro **UMASK** di `/etc/login.defs`. Se si desidera migliorare la sicurezza del sistema operativo, è possibile impostare umask a **027** o **077**.
diff --git a/docs/books/admin_guide/12-network.it.md b/docs/books/admin_guide/12-network.it.md
index d5df15bb7a..35359aa491 100644
--- a/docs/books/admin_guide/12-network.it.md
+++ b/docs/books/admin_guide/12-network.it.md
@@ -12,7 +12,7 @@ In questo capitolo imparerai come gestire e lavorare con la rete.
:heavy_check_mark: Configurare una workstation per usare DHCP;
:heavy_check_mark: Configurare una workstation per utilizzare una configurazione statica;
-:heavy_check_mark: Configura una workstation per utilizzare un gateway;
+:heavy_check_mark: Configurare una workstation per utilizzare un gateway;
:heavy_check_mark: Configurare una workstation per utilizzare i server DNS;
:heavy_check_mark: Risolvere i problemi relativi alla rete di una workstation.
@@ -29,7 +29,7 @@ In questo capitolo imparerai come gestire e lavorare con la rete.
Per illustrare questo capitolo, useremo la seguente architettura.
-
+
Ci consentirà di prendere in considerazione:
@@ -45,9 +45,9 @@ I parametri minimi da definire per la macchina sono:
Esempio:
-* `pc-rocky`;
-* `192.168.1.10`;
-* `255.255.255.0`.
+* `pc-rocky`;
+* `192.168.1.10`;
+* `255.255.255.0`.
La notazione chiamata CIDR è sempre più frequente: 192.168.1.10/24
@@ -101,7 +101,7 @@ Affinché un computer faccia parte di un dominio DNS, è necessario fornire un s
!!! Note "Aiuto alla memoria"
- Per ricordare l'ordine degli strati del modello OSI, ricorda la seguente frase: __Please Do Not Touch Steven's Pet Alligator__.
+ Per ricordare l'ordine degli strati del modello OSI, ricordate la seguente frase: **Please Do Not Touch Steven's Pet Alligator**.
| Livello | Protocolli |
| ----------------------- | ------------------------------------------ |
@@ -160,7 +160,7 @@ Dimentica il vecchio comando `ifconfig`! Pensa `ip`!
Il comando `hostname` visualizza o imposta il nome host del sistema
-```
+```bash
hostname [-f] [hostname]
```
@@ -177,7 +177,7 @@ Per assegnare un nome host, è possibile utilizzare il comando`hostname`, ma le
Per impostare il nome host, bisogna modificare il file `/etc/sysconfig/network`:
-```
+```bash
NETWORKING=yes
HOSTNAME=pc-rocky.mondomaine.lan
```
@@ -198,13 +198,13 @@ Utilizza quindi il file `/etc/hosts` per valutare l'indirizzo IP principale del
Il file `/etc/hosts` è una tabella di mapping dei nomi host statici, che segue il seguente formato:
-```
+```bash
@IP [alias] [# comment]
```
Esempio di un file `/etc/hosts`:
-```
+```bash
127.0.0.1 localhost localhost.localdomain
::1 localhost localhost.localdomain
192.168.1.10 rockstar.rockylinux.lan rockstar
@@ -226,7 +226,7 @@ Il **NSS** (**N**ame **S**ervice **S**witch) consente di sostituire i file di co
Il file `/etc/nsswitch.conf` viene utilizzato per configurare i database del servizio dei nomi.
-```
+```bash
passwd: files
shadow: files
group: files
@@ -244,7 +244,7 @@ La risoluzione del servizio dei nomi può essere testata con il comando `getent`
Il file `/etc/resolv.conf` contiene la configurazione della risoluzione dei nomi DNS.
-```
+```bash
#Generated by NetworkManager
domain mondomaine.lan
search mondomaine.lan
@@ -265,25 +265,25 @@ Il comando `ip` del pacchetto `iproute2` consente di configurare un'interfaccia
Mostra le interfacce :
-```
+```bash
[root]# ip link
```
Mostra le informazioni sulle interfacce:
-```
+```bash
[root]# ip addr show
```
Mostra le informazioni su una interfaccia :
-```
+```bash
[root]# ip addr show eth0
```
Mostra la tabella ARP:
-```
+```bash
[root]# ip neigh
```
@@ -297,34 +297,34 @@ La configurazione delle interfacce sotto Rocky Linux è contenuta nella cartella
Per ogni interfaccia Ethernet, un file `ifcfg-ethX` consente la configurazione dell'interfaccia associata.
-```
+```bash
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=00:0c:29:96:32:e3
```
-* Nome dell'interfaccia : (deve essere nel nome del file)
+* Nome dell'interfaccia : (deve essere nel nome del file)
-```
+```bash
DEVICE=eth0
```
* Avvia automaticamente l'interfaccia:
-```
+```bash
ONBOOT=yes
```
* Effettuare una richiesta DHCP all'avvio dell'interfaccia:
-```
+```bash
BOOTPROTO=dhcp
```
* Specificare l'indirizzo MAC (opzionale ma utile quando ci sono diverse interfacce):
-```
+```bash
HWADDR=00:0c:29:96:32:e3
```
@@ -334,7 +334,7 @@ HWADDR=00:0c:29:96:32:e3
* Riavviare il servizio di rete:
-```
+```bash
[root]# systemctl restart NetworkManager
```
@@ -342,7 +342,7 @@ HWADDR=00:0c:29:96:32:e3
La configurazione statica richiede almeno:
-```
+```bash
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
@@ -352,25 +352,25 @@ NETMASK=255.255.255.0
* Qui stiamo sostituendo "dhcp" con "none" che equivale alla configurazione statica:
-```
+```bash
BOOTPROTO=none
```
* Indirizzo IP:
-```
+```bash
IPADDR=192.168.1.10
```
* Subnet mask:
-```
+```bash
NETMASK=255.255.255.0
```
* La maschera può essere specificata con un prefisso:
-```
+```bash
PREFIX=24
```
@@ -380,9 +380,9 @@ PREFIX=24
## Routing (Instradamento)
-
+
-```
+```bash
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
@@ -394,7 +394,7 @@ GATEWAY=192.168.1.254
Il comando `ip route`:
-```
+```bash
[root]# ip route show
192.168.1.0/24 dev eth0 […] src 192.168.1.10 metric 1
default via 192.168.1.254 dev eth0 proto static
@@ -412,23 +412,23 @@ Un sistema deve risolvere:
* FQDN in indirizzi IP
-```
+```bash
www.free.fr = 212.27.48.10
```
* Indirizzi IP in nomi
-```
+```bash
212.27.48.10 = www.free.fr
```
* o per ottenere informazioni su un'area:
-```
+```bash
MX de free.fr = 10 mx1.free.fr + 20 mx2.free.fr
```
-```
+```bash
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
@@ -443,7 +443,7 @@ DOMAIN=rockylinux.lan
In questo caso, per raggiungere il DNS, devi passare attraverso il gateway.
-```
+```bash
#Generated by NetworkManager
domain mondomaine.lan
search mondomaine.lan
@@ -461,7 +461,7 @@ Il comando `ping` invia i datagrammi a un'altra macchina e attende una risposta.
Sintassi del comando `ping`:
-```
+```bash
ping [-c numerical] destination
```
@@ -469,49 +469,49 @@ L'opzione `-c` (conteggio) consente di interrompere il comando dopo il conto all
Esempio:
-```
+```bash
[root]# ping –c 4 localhost
```
!!! Tip "Suggerimento"
- Convalida la connettività da vicino a lontano
+ Convalidare la connettività da vicino a lontano
-1) Convalidare il livello software TCP/IP
+1. Convalidare il livello software TCP/IP
-```
-[root]# ping localhost
-```
+ ```bash
+ [root]# ping localhost
+ ```
-Il "Pinging" del loop interno non rileva un errore hardware sull'interfaccia di rete. Determina semplicemente se la configurazione del software IP è corretta.
+ Il "ping" del loop interno non rileva un guasto hardware sull'interfaccia di rete. Determina semplicemente se la configurazione del software IP è corretta.
-2) Convalidare la scheda di rete
+2. Convalidare la scheda di rete
-```
-[root]# ping 192.168.1.10
-```
+ ```bash
+ [root]# ping 192.168.1.10
+ ```
-Per determinare se la scheda di rete è funzionante, ora dobbiamo eseguire il ping del suo indirizzo IP. La scheda di rete, se il cavo di rete non è collegato, dovrebbe essere in uno stato "down".
+ Per determinare la funzionalità della scheda di rete, dobbiamo eseguire un ping del suo indirizzo IP. Se il cavo di rete non è collegato alla scheda di rete, questa dovrebbe essere in stato "down".
-Se il ping non funziona, controllare prima il cavo di rete allo switch di rete e riassemblare l'interfaccia (vedere il comando `if up`), quindi controllare l'interfaccia stessa.
+ Se il ping non funziona, controllare prima il cavo di rete allo switch di rete e riassemblare l'interfaccia (vedere il comando `if up`), quindi controllare l'interfaccia stessa.
-3) Convalidare la connettività del gateway
+3. Convalidare la connettività del gateway
-```
-[root]# ping 192.168.1.254
-```
+ ```bash
+ [root]# ping 192.168.1.254
+ ```
-4) Convalidare la connettività di un server remoto
+4. Convalidare la connettività di un server remoto
-```
-[root]# ping 172.16.1.2
-```
+ ```bash
+ [root]# ping 172.16.1.2
+ ```
-5) Convalidare il servizio DNS
+5. Convalidare il servizio DNS
-```
-[root]# ping www.free.fr
-```
+ ```bash
+ [root]# ping www.free.fr
+ ```
### comando `dig`
@@ -519,13 +519,13 @@ Il comando `dig` viene utilizzato per interrogare il server DNS.
La sintassi del comando `dig`:
-```
+```bash
dig [-t type] [+short] [name]
```
Esempi:
-```
+```bash
[root]# dig +short rockylinux.org
76.223.126.88
[root]# dig -t MX +short rockylinux.org ✔
@@ -533,52 +533,51 @@ Esempi:
...
```
-Il comando `dig` viene utilizzato per eseguire query sui server DNS. È molto prolisso per impostazione predefinita, ma questo comportamento può essere modificato con l'opzione `+short`.
+Il comando `dig` è usato per interrogare i server DNS. L'impostazione predefinita è prolissa, ma l'opzione `+short` può modificare questo comportamento.
È anche possibile specificare un **tipo di record** DNS da risolvere, ad esempio un **tipo** MX per ottenere informazioni sugli scambiatori di posta per un dominio.
### comando `getent`
-Il comando 'getent' (get entry) viene utilizzato per ottenere una voce NSSwitch (`hosts` + `dns`)
+Il comando `getent` (ottieni voce) ottiene una voce di NSSwitch (`hosts` + `dns`)
Sintassi del comando `getent`:
-
-```
+```bash
getent hosts name
```
-Esempio:
+Esempi:
-```
+```bash
[root]# getent hosts rockylinux.org
76.223.126.88 rockylinux.org
```
-Interrogare solo un server DNS può restituire un risultato errato che non tiene conto del contenuto di un file `hosts`, anche se questo dovrebbe essere raro al giorno d'oggi.
+L'interrogazione di un solo server DNS può restituire un risultato errato che non tiene conto del contenuto di un file `hosts`, anche se questo dovrebbe essere raro al giorno d'oggi.
-Per prendere in considerazione anche il file `/etc/hosts`, è necessario interrogare il servizio dei nomi NSSwitch, che si occuperà di qualsiasi risoluzione DNS.
+Per prendere in considerazione il file `/etc/hosts`, è necessario interrogare il servizio nomi di NSSwitch, che si occuperà della risoluzione DNS.
### comando `ipcalc`
-Il comando `ipcalc` (**calcolo ip**) viene utilizzato per calcolare l'indirizzo di una rete o di trasmissione da un indirizzo IP e una maschera.
+Il comando `ipcalc` (**calcolo IP**) calcola l'indirizzo di una rete o di un broadcast a partire da un indirizzo IP e da una maschera.
Sintassi del comando `ipcalc`:
-```
+```bash
ipcalc [options] IP
```
Esempio:
-```
+```bash
[root]# ipcalc –b 172.16.66.203 255.255.240.0
BROADCAST=172.16.79.255
```
!!! Tip "Suggerimento"
- Questo comando è interessante se seguito da un reindirizzamento per compilare automaticamente i file di configurazione delle interfacce:
+ Questo comando è interessante, seguito da un reindirizzamento per compilare automaticamente i file di configurazione delle interfacce:
```
[root]# ipcalc –b 172.16.66.203 255.255.240.0 >> /etc/sysconfig/network-scripts/ifcfg-eth0
@@ -589,7 +588,7 @@ BROADCAST=172.16.79.255
| `-b` | Visualizza l'indirizzo di trasmissione. |
| `-n` | Visualizza l'indirizzo di rete e la maschera. |
-`ipcalc` è un modo semplice per calcolare le informazioni IP di un host. Le varie opzioni indicano a `ipcalc` quali informazioni devono essere visualizzate sull'uscita standard. È possibile specificare più opzioni. È necessario specificare un indirizzo IP su cui operare. La maggior parte delle operazioni richiede anche una maschera di rete o un prefisso CIDR.
+`ipcalc` è un modo semplice per calcolare le informazioni IP di un host. Le varie opzioni indicano quali informazioni `ipcalc` deve visualizzare sullo standard output. È possibile specificare più opzioni. È necessario specificare un indirizzo IP su cui operare. La maggior parte delle operazioni richiede anche una maschera di rete o un prefisso CIDR.
| Opzione corta | Opzione lunga | Descrizione |
| ------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
@@ -606,13 +605,13 @@ Il comando `ss` (**statistiche socket**) visualizza le porte in ascolto sulla re
Sintassi del comando `ss`:
-```
+```bash
ss [-tuna]
```
-Esempio:
+Esempi:
-```
+```bash
[root]# ss –tuna
tcp LISTEN 0 128 *:22 *:*
```
@@ -625,36 +624,36 @@ Quando si implementano i servizi di rete, è molto comune verificare con uno di
!!! Warning "Attenzione"
- Il comando `netstat` è ora deprecato e non è più installato per impostazione predefinita su Rocky Linux. Si possono ancora trovare alcune versioni Linux che l'hanno installato, ma è meglio passare all'utilizzo di `ss` per tutto quello per cui avresti usato `netstat`.
+ Il comando `netstat` è ora deprecato e non è più installato per impostazione predefinita su Rocky Linux. È possibile che alcune versioni di Linux lo abbiano ancora installato, ma è meglio passare a usare `ss` per tutto ciò per cui si sarebbe usato `netstat`.
Il comando `netstat` (**statistiche di rete**) visualizza le porte in ascolto sulla rete.
Sintassi del comando `netstat`:
-```
+```bash
netstat -tapn
```
Esempio:
-```
+```bash
[root]# netstat –tapn
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2161/sshd
```
### Conflitti di indirizzi IP o MAC
-Una configurazione errata può causare l'utilizzo dello stesso indirizzo IP da parte di più interfacce. Ciò può verificarsi quando una rete dispone di più server DHCP o quando lo stesso indirizzo IP viene assegnato manualmente più volte.
+Una configurazione errata può causare l'utilizzo dello stesso indirizzo IP da parte di più interfacce. Questo può accadere quando una rete ha più server DHCP o lo stesso indirizzo IP viene assegnato manualmente più volte.
-Quando la rete non funziona correttamente e quando la causa potrebbe essere un conflitto di indirizzi IP, è possibile utilizzare il software `arp-scan` (richiede il repository EPEL):
+Quando la rete non funziona correttamente e la causa potrebbe essere un conflitto di indirizzi IP, è possibile utilizzare il software `arp-scan` (richiede il repository EPEL):
-```
-$ dnf install arp-scan
+```bash
+dnf install arp-scan
```
Esempio:
-```
+```bash
$ arp-scan -I eth0 -l
172.16.1.104 00:01:02:03:04:05 3COM CORPORATION
@@ -670,45 +669,45 @@ $ arp-scan -I eth0 -l
!!! Tip "Suggerimento"
- Come mostra l'esempio precedente, è anche possibile avere conflitti di indirizzo MAC! Questi problemi sono causati dalle tecnologie di virtualizzazione e dalla copia delle macchine virtuali.
+ Come mostra l'esempio precedente, i conflitti di indirizzi MAC sono possibili! Le tecnologie di virtualizzazione e la copia di macchine virtuali causano questi problemi.
## Configurazione a caldo
-Il comando `ip` può aggiungere a caldo un indirizzo IP a un'interfaccia
+Il comando `ip` può aggiungere a caldo un indirizzo IP a un'interfaccia.
-```
+```bash
ip addr add @IP dev DEVICE
```
Esempio:
-```
+```bash
[root]# ip addr add 192.168.2.10 dev eth1
```
Il comando `ip` consente l'attivazione o la disattivazione di un'interfaccia:
-```
+```bash
ip link set DEVICE up
ip link set DEVICE down
```
Esempio:
-```
+```bash
[root]# ip link set eth1 up
[root]# ip link set eth1 down
```
-Il comando `ip` viene utilizzato per aggiungere una route:
+Il comando `ip` aggiunge una route:
-```
+```bash
ip route add [default|netaddr] via @IP [dev device]
```
Esempio:
-```
+```bash
[root]# ip route add default via 192.168.1.254
[root]# ip route add 192.168.100.0/24 via 192.168.2.254 dev eth1
```
@@ -717,11 +716,11 @@ Esempio:
I file utilizzati in questo capitolo sono:
-
+
Una configurazione completa dell'interfaccia potrebbe essere questa (file `/etc/sysconfig/network-scripts/ifcfg-eth0`):
-```
+```bash
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
@@ -736,10 +735,10 @@ Una configurazione completa dell'interfaccia potrebbe essere questa (file `/etc/
Il metodo di risoluzione dei problemi dovrebbe andare dal più vicino al più lontano:
-1. ping localhost (test del software)
-2. ping indirizzo-IP (test dell'hardware)
-3. ping gateway (test di connettività)
-4. ping server remoto (test di instradamento)
-5. DNS query (dig o ping)
+1. ping localhost (software test)
+2. ping IP-address (hardware test)
+3. ping gateway (connectivity test)
+4. ping remote server (routing test)
+5. DNS query (dig or ping)
-
+
diff --git a/docs/books/admin_guide/14-special-authority.it.md b/docs/books/admin_guide/14-special-authority.it.md
index 04d4456676..5cd828bc25 100644
--- a/docs/books/admin_guide/14-special-authority.it.md
+++ b/docs/books/admin_guide/14-special-authority.it.md
@@ -1,7 +1,7 @@
---
title: Autorizzazioni Speciali
author: tianci li
-contributors: Franco Colussi
+contributors: Serge, Ganna Zhyrnova
tags:
- advanced permissions
- access control
@@ -235,7 +235,7 @@ Qual è la ricorsione dei permessi ACL? Per i permessi ACL, ciò significa che q
!!! info "Informazione"
- La ricorsione si applica a file/directory già esistenti.
+ La ricorsione è adatta a file/directory già esistenti nella directory.
Osservate il seguente esempio:
@@ -290,6 +290,10 @@ default:mask::rwx
default:other::---
```
+!!! info "Informazione"
+
+ Il valore predefinito e la ricorsione dell'uso dei permessi ACL richiedono che l'oggetto operativo del comando sia una directory! Se l'oggetto dell'operazione è un file, viene emesso un messaggio di errore.
+
### SetUID
Il ruolo di "SetUID":
@@ -303,16 +307,16 @@ Perché GNU/Linux ha bisogno di queste strane autorizzazioni? Prendiamo ad esemp

-Come si può vedere, l'utente ordinario ha solo r e x, ma la x del proprietario diventa s, dimostrando che il comando `passwd` ha i permessi SUID.
+Come si può vedere, l'utente ordinario ha solo r e x, ma la x del proprietario diventa s, dimostrando che il comando `passwd` ha permessi SUID.
-È noto che gli utenti ordinari (uid >= 1000) possono cambiare la propria password. La vera password è memorizzata nel file **/etc/shadow** , ma il permesso del file shadows è di 000, e gli utenti ordinari non hanno alcun permesso.
+È noto che gli utenti ordinari (uid >= 1000) possono modificare la propria password. La vera password è memorizzata nel file **/etc/shadow**, ma il permesso del file shadows è 000 e gli utenti ordinari non hanno alcun permesso.
```bash
Shell > ls -l /etc/shadow
---------- 1 root root 874 Jan 12 13:42 /etc/shadow
```
-Poiché gli utenti ordinari possono cambiare la loro password, devono aver scritto la password nel file **/etc/shadow**. Quando un utente ordinario esegue il comando `passwd` , cambierà temporaneamente al proprietario del file -- **root**. Per il file **shadow** , **root** non può essere limitato dai permessi. Questo è il motivo per cui il comando `passwd` necessita dell'autorizzazione SUID.
+Poiché gli utenti ordinari possono cambiare la loro password, devono averla scritta nel file **/etc/shadow**. Quando un utente normale esegue il comando `passwd`, passa temporaneamente al proprietario del file -- **root**. Per il file **shadow** , **root** non può essere limitato dai permessi. Questo è il motivo per cui il comando `passwd` necessita dell'autorizzazione SUID.
Come accennato in precedenza, i permessi di base possono essere rappresentati da numeri, come 755, 644, e così via. Il SUID è rappresentato da **4**. Per i binari eseguibili, è possibile impostare permessi come questo -- **4755**.
@@ -347,7 +351,7 @@ Shell > chmod u-s FILE_NAME
!!! warning "Attenzione"
- Poiché SUID può temporaneamente cambiare gli utenti ordinari in root, è necessario prestare particolare attenzione con i file con questo permesso durante la manutenzione del server. È possibile trovare file con permessi SUID utilizzando il seguente comando:
+ Poiché SUID può cambiare temporaneamente gli utenti ordinari in root, è necessario prestare particolare attenzione ai file con questo permesso durante la manutenzione del server. È possibile trovare i file con permessi SUID utilizzando il seguente comando:
```bash
Shell > find / -perm -4000 -a -type f -exec ls -l {} \;
@@ -364,7 +368,7 @@ Il ruolo di "SetGID":
Prendiamo ad esempio il comando `locate`:
-```
+```bash
Shell > rpm -ql mlocate
/usr/bin/locate
...
@@ -444,7 +448,7 @@ Il ruolo di "Sticky BIT":
Lo SBIT è rappresentato dal numero **1**.
-Il file o la directory possono avere i permessi **7755**? No, sono rivolti a oggetti diversi. SUID è per i file binari eseguibili; SGID è usato per i file binari eseguibili e le directory; SBIT è solo per le directory. È quindi necessario impostare queste autorizzazioni speciali in base ai diversi oggetti.
+Il file o la directory possono avere i permessi **7755**? No, sono rivolti ad oggetti diversi. SUID è per i file binari eseguibili; SGID è usato per i file binari eseguibili e le directory; SBIT è solo per le directory. È quindi necessario impostare queste autorizzazioni speciali in base ai diversi oggetti.
La directory **/tmp** ha il permesso SBIT. Un esempio è il seguente:
@@ -609,7 +613,7 @@ Rimuovere l'attributo a dall'esempio precedente:
Shell > chattr -a /etc/tmpfile1 /etc/dira/
```
-!!! domanda
+!!! question "Domanda"
Cosa succede quando ho impostato l'attributo ai su un file?
Non è possibile fare nulla con il file, se non visualizzarlo.
@@ -629,7 +633,7 @@ Sappiamo che solo l'amministratore root ha il permesso di usare i comandi sotto
Per concedere i permessi agli utenti ordinari, è **necessario utilizzare l'utente root (uid=0)**.
-Puoi abilitare gli utenti normali usando il comando `visudo` , quello che stai effettivamente cambiando è il file **/etc/sudoers**.
+È possibile dare i permessi agli utenti ordinari usando il comando `visudo`; ciò che si sta effettivamente modificando è il file **/etc/sudoers**.
```bash
Shell > visudo
@@ -643,8 +647,7 @@ Shell > visudo
94 ##
95 ## user MACHINE=COMMANDS
96 ##
-97 ## The COMMANDS section may have other options added to it.
-98 ##
+97 ## The COMMANDS section may have other options added to it. 98 ##
99 ## Allow root to run any commands anywhere
100 root ALL=(ALL) ALL
↓ ↓ ↓ ↓
diff --git a/docs/guides/desktop/kde_installation.it.md b/docs/guides/desktop/kde_installation.it.md
index e1f561e98a..3ac6b4ebdd 100644
--- a/docs/guides/desktop/kde_installation.it.md
+++ b/docs/guides/desktop/kde_installation.it.md
@@ -19,9 +19,9 @@ Grazie al team di sviluppo di Rocky Linux, sono disponibili immagini live per di
## Prerequisiti
-* Una macchina compatibile con Rocky Linux 9.0 (desktop, notebook o server) su cui si desidera eseguire il desktop KDE.
-* La possibilità di eseguire alcune operazioni dalla riga di comando, come la verifica dei checksum delle immagini.
-* La conoscenza di come scrivere un'immagine avviabile su un DVD o una chiavetta USB.
+- Una macchina compatibile con Rocky Linux 9.0 (desktop, notebook o server) su cui si desidera eseguire il desktop KDE.
+- La possibilità di eseguire alcune operazioni dalla riga di comando, come la verifica dei checksum delle immagini.
+- La conoscenza di come scrivere un'immagine avviabile su un DVD o una chiavetta USB.
## Ottenere, verificare e scrivere l'immagine live di KDE
@@ -31,13 +31,13 @@ Si noti che questo particolare collegamento presuppone x86_64 come architettura
Verificare l'immagine con il file CHECKSUM utilizzando quanto segue (nota: si tratta di un esempio! Assicurarsi che il nome dell'immagine e i file CHECKSUM corrispondano):
-```
+```text
sha256sum -c CHECKSUM --ignore-missing Rocky-9-KDE-x86_64-latest.iso.CHECKSUM
```
Se tutto va bene, si dovrebbe ricevere questo messaggio:
-```
+```text
Rocky-9-KDE-x86_64-latest.iso: OK
```
@@ -97,7 +97,7 @@ Infine, terminare la configurazione:

-Al termine di questo passaggio, apparirà il nome utente creato in precedenza. Inserire la password creata per l'utente e premere INVIO. Questo mostrerà una schermata del desktop KDE immacolata:
+Al termine di questo passaggio, apparirà il nome utente creato in precedenza. Inserire la password creata per l'utente e premere ++enter++. Questo mostrerà una schermata del desktop KDE immacolata:

diff --git a/docs/guides/proxies/haproxy_apache_lxd.it.md b/docs/guides/proxies/haproxy_apache_lxd.it.md
index 35e02c9d40..69e33958d2 100644
--- a/docs/guides/proxies/haproxy_apache_lxd.it.md
+++ b/docs/guides/proxies/haproxy_apache_lxd.it.md
@@ -11,7 +11,6 @@ tested_with: 8.5, 8.6, 9.0
HAProxy sta per "High Availability Proxy" Questo proxy può essere collocato prima di qualsiasi applicazione TCP (come i server web), ma viene spesso utilizzato come bilanciatore di carico tra molte istanze di siti web.
-
Le ragioni possono essere molteplici. Se avete un sito web che viene visitato in modo intenso, l'aggiunta di un'altra istanza dello stesso sito web e l'inserimento di HAProxy in entrambe le istanze vi consente di distribuire il traffico tra le istanze. Un altro motivo potrebbe essere quello di poter aggiornare i contenuti di un sito web senza interruzioni. HAProxy può anche contribuire a mitigare gli attacchi DOS e DDOS.
Questa guida analizza l'uso di HAProxy con due istanze del sito web e il bilanciamento del carico con rotazione round-robin sullo stesso host LXD. Questa potrebbe essere una soluzione perfetta per garantire che gli aggiornamenti possano essere eseguiti senza tempi di inattività.
@@ -20,25 +19,26 @@ Tuttavia, se il problema sono le prestazioni del sito web, potrebbe essere neces
## Prerequisiti e presupposti
-* Completo comfort alla riga di comando su una macchina Linux
-* Esperienza con un editor a riga di comando (qui si usa `vim`)
-* Esperienza con `crontab`
-* Conoscenza di LXD. Per ulteriori informazioni, è possibile consultare il documento [LXD Server](../../books/lxd_server/00-toc.md). È possibile installare LXD su un notebook o una workstation senza eseguire l'installazione completa del server. Questo documento è stato scritto con una macchina da laboratorio che esegue LXD, ma non è impostato come un intero server, come invece avviene nel documento collegato in precedenza.
-* Conoscenza dell'installazione, della configurazione e dell'utilizzo di server web.
-* Si presuppone che LXD sia già installato e pronto a creare i contenitori.
+- Completo comfort alla riga di comando su una macchina Linux
+- Esperienza con un editor a riga di comando (qui si usa `vim`)
+- Esperienza con `crontab`
+- Conoscenza di LXD. Per ulteriori informazioni, è possibile consultare il documento [LXD Server](../../books/lxd_server/00-toc.md). È possibile installare LXD su un notebook o una workstation senza eseguire l'installazione completa del server. Questo documento è stato scritto con una macchina da laboratorio che esegue LXD, ma non è impostato come un intero server, come invece avviene nel documento collegato in precedenza.
+- Conoscenza dell'installazione, della configurazione e dell'utilizzo di server web.
+- Si presuppone che LXD sia già installato e pronto a creare i contenitori.
## Installare i container
Sul vostro host LXD per questa guida, avrete bisogno di tre container. Volendo, si possono avere più contenitori di server web. Useremo **web1** e **web2** per i container del nostro sito web e **proxyha** per il nostro container di HAProxy. Per installarli sull'host LXD, procedere come segue:
-```
+```bash
lxc launch images:rockylinux/8 web1
lxc launch images:rockylinux/8 web2
lxc launch images:rockylinux/8 proxyha
```
+
L'esecuzione di un elenco `lxc` dovrebbe restituire qualcosa di simile:
-```
+```bash
+---------+---------+----------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+----------------------+------+-----------+-----------+
@@ -64,11 +64,12 @@ Assicurarsi che l'editor sia impostato su quello preferito, in questo caso `vim`
Successivamente, modificate il profilo `macvlan`. Prima di farlo, è necessario conoscere l'interfaccia utilizzata dall'host per la nostra LAN. Eseguire `ip addr` e cercare l'interfaccia con l'assegnazione dell'IP LAN:
-```
+```bash
2: eno1: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether a8:5e:45:52:f8:b6 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.141/24 brd 192.168.1.255 scope global dynamic noprefixroute eno1
```
+
!!! Note "Nota"
In questo caso, l'interfaccia che si sta cercando è "eno1", che potrebbe essere completamente diversa sul vostro sistema. Utilizzate le **vostre** informazioni sull'interfaccia!
@@ -79,7 +80,7 @@ Ora che si conosce l'interfaccia LAN, è possibile modificare il profilo `macvla
Modificate il profilo in modo che assomigli a questo. L'autore ha escluso i commenti all'inizio del file, ma se siete nuovi di LXD, esaminateli:
-```
+```bash
config: {}
description: ""
devices:
@@ -95,7 +96,7 @@ Quando si crea il profilo `macvlan`, il sistema copia il profilo `default`. La m
Ora che il profilo `macvlan` esiste, è necessario applicarlo ai nostri tre container:
-```
+```bash
lxc profile assign web1 default,macvlan
lxc profile assign web2 default,macvlan
lxc profile assign proxyha default,macvlan
@@ -105,19 +106,19 @@ Sfortunatamente, il comportamento predefinito di `macvlan`, come implementato ne
Questa operazione è piuttosto semplice quando si usa il DHCP. Procedere in questo modo per ogni container:
-* `lxc exec web1 bash`, che ci porterà alla riga di comando del contenitore **web1**
-* `crontab -e` che modificherà il file di root `crontab` sul container
-* digitare `i` per passare alla modalità di inserimento.
-* aggiungere una riga: `@reboot /usr/sbin/dhclient`
-* premere il tasto `ESC` per uscire dalla modalità di inserimento.
-* salvare le modifiche con `SHIFT: wq`
-* digitare `exit` per uscire dal container
+- `lxc exec web1 bash`, che ci porterà alla riga di comando del contenitore **web1**
+- `crontab -e` che modificherà il file di root `crontab` sul container
+- digitare ++i++ per passare alla modalità di inserimento.
+- aggiungere una riga: `@reboot /usr/sbin/dhclient`
+- premere il tasto ++escape++ per uscire dalla modalità di inserimento.
+- salvare le modifiche con ++shift++colon+w+q++
+- digitare `exit` per uscire dal container
Ripetere i passaggi per **web2** e **proxyha**.
Una volta completati questi passaggi, riavviare i container:
-```
+```bash
lxc restart web1
lxc restart web2
lxc restart proxyha
@@ -125,7 +126,7 @@ lxc restart proxyha
e quando si esegue nuovamente un `lxc list`, si vedrà che gli indirizzi DHCP sono ora assegnati dalla LAN:
-```
+```bash
+---------+---------+----------------------+------+-----------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+----------------------+------+-----------+-----------+
@@ -141,17 +142,18 @@ e quando si esegue nuovamente un `lxc list`, si vedrà che gli indirizzi DHCP so
Il nostro ambiente è pronto. Quindi, installare Apache (`httpd`) su ogni container web. È possibile farlo senza accedervi fisicamente:
-```
+```bash
lxc exec web1 dnf install httpd
lxc exec web2 dnf install httpd
```
+
Per qualsiasi server web moderno è necessario più di Apache, ma questo è sufficiente per eseguire alcuni test.
Quindi, abilitate `htpd`, avviatelo e modificate la schermata di benvenuto predefinita. In questo modo, si sa che il server risponde quando si prova ad accedere tramite proxy.
Attivare e avviare `htpd`:
-```
+```bash
lxc exec web1 systemctl enable httpd
lxc exec web1 systemctl start httpd
lxc exec web2 systemctl enable httpd
@@ -179,7 +181,8 @@ Ora ripetete la procedura per web2. Se si accede a questi computer tramite IP in
`lxc exec proxyha dnf install haproxy`
Poi si vuole configurare `haproxy` per ascoltare sulla porta 80 e sulla porta 443 per i servizi web. Questo si fa con il sottocomando configure di `lxc`:
-```
+
+```bash
lxc config device add proxyha http proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:80
lxc config device add proxyha https proxy listen=tcp:0.0.0.0:443 connect=tcp:127.0.0.1:443
```
@@ -194,7 +197,7 @@ Si è già installato HAProxy sul container, ma non si è ancora fatto nulla per
Aggiungere i seguenti record alla fine del file:
-```
+```bash
192.168.1.150 site1.testdomain.com site1
192.168.1.101 site2.testdomain.com site2
```
@@ -211,7 +214,7 @@ Creare un nuovo file di configurazione:
Si noti che, per il momento, le linee del protocollo HTTPS sono state escluse. In un ambiente di produzione, è necessario utilizzare un certificato jolly che copra i server Web e che abiliti l'HTTPS:
-```
+```bash
global
log /dev/log local0
log /dev/log local1 notice
@@ -301,7 +304,7 @@ Creare ciascuno di questi file in quella directory. Si noti che è possibile ese
Nome file `400.http`:
-```
+```bash
HTTP/1.0 400 Bad request
Cache-Control: no-cache
Connection: close
@@ -314,7 +317,7 @@ Your browser sent an invalid request.
Nome file `403.http`:
-```
+```bash
HTTP/1.0 403 Forbidden
Cache-Control: no-cache
Connection: close
@@ -327,7 +330,7 @@ Request forbidden by administrative rules.
Nome file `408.http`:
-```
+```bash
HTTP/1.0 408 Request Time-out
Cache-Control: no-cache
Connection: close
@@ -340,7 +343,7 @@ Your browser didn't send a complete request in time.
Nome file `500.http`:
-```
+```bash
HTTP/1.0 500 Internal Server Error
Cache-Control: no-cache
Connection: close
@@ -353,7 +356,7 @@ An internal server error occurred.
Nome file `502.http`:
-```
+```bash
HTTP/1.0 502 Bad Gateway
Cache-Control: no-cache
Connection: close
@@ -366,7 +369,7 @@ The server returned an invalid or incomplete response.
Nome file `503.http`:
-```
+```bash
HTTP/1.0 503 Service Unavailable
Cache-Control: no-cache
Connection: close
@@ -379,7 +382,7 @@ No server is available to handle this request.
Nome file `504.http`:
-```
+```bash
HTTP/1.0 504 Gateway Time-out
Cache-Control: no-cache
Connection: close
@@ -397,10 +400,12 @@ Creare una cartella "run" per `haproxy` prima di avviare il servizio:
`lxc exec proxyha mkdir /run/haproxy`
Quindi, abilitare il servizio e avviarlo:
-```
+
+```bash
lxc exec proxyha systemctl enable haproxy
lxc exec proxyha systemctl start haproxy
```
+
Se si verificano errori, ricercare il motivo utilizzando:
`lxc exec proxyha systemctl status haproxy`
@@ -417,14 +422,14 @@ Per farlo, modificare il file `/etc/hosts` sul computer locale. Considerate ques
Aggiungete queste due righe:
-```
+```bash
192.168.1.149 site1.testdomain.com site1
192.168.1.149 site2.testdomain.com site2
```
Se si esegue un ping su **site1** o **site2** sulla macchina locale, si otterrà una risposta da **proxyha**:
-```
+```bash
PING site1.testdomain.com (192.168.1.149) 56(84) bytes of data.
64 bytes from site1.testdomain.com (192.168.1.149): icmp_seq=1 ttl=64 time=0.427 ms
64 bytes from site1.testdomain.com (192.168.1.149): icmp_seq=2 ttl=64 time=0.430 ms
@@ -432,7 +437,6 @@ PING site1.testdomain.com (192.168.1.149) 56(84) bytes of data.
Aprite il browser Web e digitate site1.testdomain.com (o site2.testdomain.com) come URL nella barra degli indirizzi. Si otterrà una risposta da una delle due pagine di test e se si carica nuovamente la pagina, si otterrà la pagina di test del server successivo. Si noti che l'URL non cambia, ma la pagina restituita cambia alternativamente tra i server.
-

## Registrazione
@@ -447,7 +451,7 @@ Quindi, creare un processo di sistema per `rsyslogd` per catturare le istanze da
Aggiungete il seguente contenuto al file:
-```
+```bash
$AddUnixListenSocket /var/lib/haproxy/dev/log
# Send HAProxy messages to a dedicated logfile
@@ -456,6 +460,7 @@ $AddUnixListenSocket /var/lib/haproxy/dev/log
stop
}
```
+
Salvare il file, uscire e riavviare `rsyslog`:
`lxc exec proxyha systemctl restart rsyslog`
@@ -470,7 +475,7 @@ Visualizzare il file di registro creato:
Il che mostrerà qualcosa di simile a questo:
-```
+```bash
Sep 25 23:18:02 proxyha haproxy[4602]: Proxy http_frontend started.
Sep 25 23:18:02 proxyha haproxy[4602]: Proxy http_frontend started.
Sep 25 23:18:02 proxyha haproxy[4602]: Proxy subdomain1 started.
diff --git a/docs/guides/security/dnf_automatic.it.md b/docs/guides/security/dnf_automatic.it.md
index 36d719d9ae..af712b1952 100644
--- a/docs/guides/security/dnf_automatic.it.md
+++ b/docs/guides/security/dnf_automatic.it.md
@@ -26,7 +26,7 @@ La sicurezza del vostro sistema informatico sarà rafforzata. `dnf-automatic` è
Puoi installare `dnf-automatic` dai repository rocky:
-```
+```bash
sudo dnf install dnf-automatic
```
@@ -34,7 +34,7 @@ sudo dnf install dnf-automatic
Per impostazione predefinita, il processo di aggiornamento inizierà alle 6 del mattino, con un delta temporale aggiuntivo casuale per evitare che tutte le macchine vengano aggiornate contemporaneamente. Per modificare questo comportamento, è necessario sovrascrivere la configurazione del timer associata al servizio applicativo:
-```
+```bash
sudo systemctl edit dnf-automatic.timer
[Unit]
@@ -56,8 +56,8 @@ Questa configurazione riduce il ritardo di avvio tra le 6:00 e le 6:10. (Un serv
Attivare quindi il timer associato al servizio (non il servizio stesso):
-```
-$ sudo systemctl enable --now dnf-automatic.timer
+```bash
+sudo systemctl enable --now dnf-automatic.timer
```
## Che dire dei server CentOS 7?
@@ -68,15 +68,15 @@ $ sudo systemctl enable --now dnf-automatic.timer
Il processo sotto CentOS 7 è simile ma usa: `yum-cron`.
-```
-$ sudo yum install yum-cron
+```bash
+sudo yum install yum-cron
```
Questa volta, la configurazione del servizio viene effettuata nel file `/etc/yum/yum-cron.conf`.
Impostare la configurazione come necessario:
-```
+```text
[commands]
# What kind of update to use:
# default = yum upgrade
@@ -111,8 +111,8 @@ I commenti nel file di configurazione parlano da soli.
Ora è possibile abilitare il servizio e avviarlo:
-```
-$ sudo systemctl enable --now yum-cron
+```bash
+sudo systemctl enable --now yum-cron
```
## Conclusione