-u, -g, -d e -s alla creazione.
+- Diverso dal nome di un gruppo o file di sistema esistente;
+- Il nome utente può contenere fino a 32 caratteri.
!!! Warning "Attenzione"
+ ```
L'utente deve creare la home directory, ad eccezione dell'ultima directory.
+ ```
L'ultima directory viene creata dal comando `useradd`, che approfitta dell'occasione per copiarvi i file da `/etc/skel`.
@@ -355,14 +379,16 @@ sudo useradd -u 1000 -g GroupA -G GroupP,GroupC albert
!!! Note "Nota"
+ ````
In **Debian**, è necessario specificare l'opzione `-m` per forzare la creazione della directory di login o impostare la variabile `CREATE_HOME` nel file `/etc/login.defs`. In tutti i casi, l'amministratore dovrebbe usare i comandi `adduser` e `deluser` come specificato in `man`, tranne che negli script destinati ad essere trasferiti a tutte le distribuzioni Linux:
-
+
```
$ man useradd
DESCRIPTION
**useradd** is a low-level utility for adding users. On Debian, administrators should usually use **adduser(8)**
instead.
```
+ ````
#### Valore predefinito per la creazione di un utente
@@ -378,8 +404,8 @@ Esempio:
sudo useradd -D -g 1000 -b /home -s /bin/bash
```
-| Opzione | Descrizione |
-| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Opzione | Descrizione |
+| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `-D` | Imposta i valori predefiniti per la creazione dell'utente. |
| `-b base_directory` | Definisce la directory di base per la home directory dell'utente. Se non si specifica questa opzione, si utilizza la variabile HOME nel file /etc/default/useradd o /home/ |
| `-g group` | Imposta il gruppo predefinito. |
@@ -403,19 +429,21 @@ sudo usermod -u 1044 carine
Opzioni identiche al comando `useradd`.
-| Opzione | Descrizione |
-| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Opzione | Descrizione |
+| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-m` | Associato all'opzione `-d`. Sposta il contenuto della vecchia directory di login in quella nuova. Se la vecchia home directory non esiste, la creazione di una nuova home directory non avviene; la creazione della nuova home directory avviene se non esiste. |
-| `-l login` | Modifica il nome di accesso. Dopo aver modificato il nome di accesso, è anche necessario modificare il nome della directory home per abbinarlo. |
-| `-e YYYY-MM-DD` | Modifica la data di scadenza dell'account. |
-| `-L` | Blocca l'account in modo permanente. Cioè, aggiunge un `!` all'inizio del campo della password `/etc/shadow`. |
-| `-U` | Sblocca l'account. |
-| `-a` | Aggiunge i gruppi supplementari dell'utente, che devono essere usati insieme all'opzione `-G`. |
-| `-G` | Modifica i gruppi supplementari dell'utente e sovrascrive i gruppi supplementari precedenti. |
+| `-l login` | Modifica il nome di accesso. Dopo aver modificato il nome di accesso, è anche necessario modificare il nome della directory home per abbinarlo. |
+| `-e YYYY-MM-DD` | Modifica la data di scadenza dell'account. |
+| `-L` | Blocca l'account in modo permanente. Cioè, aggiunge un `!` all'inizio del campo della password `/etc/shadow`. |
+| `-U` | Sblocca l'account. |
+| `-a` | Aggiunge i gruppi supplementari dell'utente, che devono essere usati insieme all'opzione `-G`. |
+| `-G` | Modifica i gruppi supplementari dell'utente e sovrascrive i gruppi supplementari precedenti. |
!!! Tip "Suggerimento"
+ ```
Per essere modificato, un utente deve essere disconnesso e non avere processi in corso.
+ ```
Dopo la modifica dell'identificatore, i file appartenenti all'utente hanno un `UID` sconosciuto. Deve essere riassegnato il nuovo `UID`.
@@ -430,8 +458,7 @@ Blocco e sblocco degli account utente. Gli esempi sono i seguenti:
```bash
$ usermod -L test1
$ grep test1 /etc/shadow
-test1:!$6$n.hxglA.X5r7X0ex$qCXeTx.kQVmqsPLeuvIQnNidnSHvFiD7bQTxU7PLUCmBOcPNd5meqX6AEKSQvCLtbkdNCn.re2ixYxOeGWVFI0:19259:0:99999:7
-:::
+test1:!$6$n.hxglA.X5r7X0ex$qCXeTx.kQVmqsPLeuvIQnNidnSHvFiD7bQTxU7PLUCmBOcPNd5meqX6AEKSQvCLtbkdNCn.re2ixYxOeGWVFI0:19259:0:99999:7:::
$ usermod -U test1
```
@@ -472,13 +499,15 @@ sudo userdel -r carine
!!! Tip "Suggerimento"
+ ```
Per essere eliminato, un utente deve essere disconnesso e non avere processi in esecuzione.
+ ```
Il comando `userdel` rimuove le righe corrispondenti in `/etc/passwd`, `/ etc/shadow`, `/etc/group`, `/etc/gshadow`. Come accennato in precedenza, `userdel -r` cancellerà anche il corrispondente gruppo primario dell'utente.
### file `/etc/passwd`
-Questo file contiene le informazioni utente (divise da `:`).
+Questo file contiene le informazioni utente (separate da `:`).
```bash
$ sudo head -1 /etc/passwd
@@ -486,13 +515,13 @@ root:x:0:0:root:/root:/bin/bash
(1)(2)(3)(4)(5) (6) (7)
```
-* 1: Login name;
-* 2: Identificazione della password, `x` indica che l'utente ha una password, la password criptata è memorizzata nel secondo campo di `/etc/shadow`;
-* 3: UID.
-* 4: GID del gruppo primario;
-* 5: Commenti;
-* 6: Home directory;
-* 7: Shell (`/bin/bash`, `/bin/nologin`, ...).
+- 1: Login name;
+- 2: Identificazione della password, `x` indica che l'utente ha una password, la password criptata è memorizzata nel secondo campo di `/etc/shadow`;
+- 3: UID;
+- 4: GID del gruppo primario;
+- 5: Commenti;
+- 6: Home directory;
+- 7: Shell (`/bin/bash`, `/bin/nologin`, ...).
### file `/etc/shadow`
@@ -500,24 +529,25 @@ Questo file contiene le informazioni di sicurezza degli utenti (separate da `:`)
```bash
$ sudo tail -1 /etc/shadow
-root:$6$...:15399:0:99999:7
-:::
+root:$6$...:15399:0:99999:7:::
(1) (2) (3) (4) (5) (6)(7,8,9)
```
-* 1: Nome Login.
-* 2: Password criptata. Utilizza l'algoritmo di crittografia SHA512, definito dal `ENCRYPT_METHOD` di `/etc/login.defs`.
-* 3: L'ora in cui la password è stata cambiata l'ultima volta, il formato timestamp, in giorni. Il cosiddetto timestamp si basa sul 1 gennaio 1970 come orario standard. Ogni volta che un giorno passa, il timestamp è +1.
-* 4: Durata minima della password. Ovvero, l'intervallo di tempo tra due modifiche della password (relative al terzo campo), in giorni. Definito dal `PASS_MIN_DAYS` di `/etc/login.defs`, il valore predefinito è 0, cioè, quando cambi la password per la seconda volta, non c'è alcuna restrizione. Tuttavia, se è 5, significa che non è permesso cambiare la password entro 5 giorni, e solo dopo 5 giorni.
-* 5: Durata massima della password. Cioè, il periodo di validità della password (relativo al terzo campo). Definito dal `PASS_MAX_DAYS` di `/etc/login.defs`.
-* 6: Il numero di giorni di avviso prima della scadenza della password (relativo al quinto campo). Il valore predefinito è di 7 giorni, definito dal `PASS_WARN_AGE` di `/etc/login.defs`.
-* 7: Numero di giorni di tolleranza dopo la scadenza della password (in relazione al quinto campo).
-* 8: Tempo di scadenza dell'account, il formato del timestamp, in giorni. **Nota che la scadenza di un account differisce dalla scadenza di una password. In caso di scadenza di un account, l'utente non può effettuare il login. In caso di scadenza della password, all'utente non è consentito effettuare il login utilizzando la sua password.**
-* 9: Riservato per un uso futuro.
+- 1: Nome Login.
+- 2: Password criptata. Utilizza l'algoritmo di crittografia SHA512, definito dal `ENCRYPT_METHOD` di `/etc/login.defs`.
+- 3: L'ora in cui la password è stata cambiata l'ultima volta, il formato timestamp, in giorni. Il cosiddetto timestamp si basa sul 1 gennaio 1970 come orario standard. Ogni volta che un giorno passa, il timestamp è +1.
+- 4: Durata minima della password. Ovvero, l'intervallo di tempo tra due modifiche della password (relative al terzo campo), in giorni. Definito dal `PASS_MIN_DAYS` di `/etc/login.defs`, il valore predefinito è 0, cioè, quando cambi la password per la seconda volta, non c'è alcuna restrizione. Tuttavia, se è 5, significa che non è permesso cambiare la password entro 5 giorni, e solo dopo 5 giorni.
+- 5: Durata massima della password. Cioè, il periodo di validità della password (relativo al terzo campo). Definito dal `PASS_MAX_DAYS` di `/etc/login.defs`.
+- 6: Il numero di giorni di avviso prima della scadenza della password (relativo al quinto campo). Il valore predefinito è di 7 giorni, definito dal `PASS_WARN_AGE` di `/etc/login.defs`.
+- 7: Numero di giorni di tolleranza dopo la scadenza della password (in relazione al quinto campo).
+- 8: Tempo di scadenza dell'account, il formato del timestamp, in giorni. **Nota che la scadenza di un account differisce dalla scadenza di una password. In caso di scadenza di un account, l'utente non può effettuare il login. In caso di scadenza della password, all'utente non è consentito effettuare il login utilizzando la sua password.**
+- 9: Riservato per un uso futuro.
!!! Danger "Pericolo"
+ ```
Per ogni riga del file `/etc/passwd` deve esserci una riga corrispondente nel file `/etc/shadow`.
+ ```
Per la conversione della data e dell'ora, fare riferimento al seguente formato di comando:
@@ -533,7 +563,9 @@ $ echo $(($(date --date="2018-07-06" +%s)/86400+1))
!!! Danger "Pericolo"
+ ```
Tutti i file appartengono necessariamente a un utente e a un gruppo.
+ ```
Per impostazione predefinita, il gruppo primario dell'utente che crea il file è il gruppo proprietario del file.
@@ -555,8 +587,8 @@ sudo chown root myfile
sudo chown albert:GroupA myfile
```
-| Opzione | Descrizione |
-| ------- | ---------------------------------------------------------------------------------------- |
+| Opzione | Descrizione |
+| ------- | -------------------------------------------------------------------------------------------------------- |
| `-R` | Cambia ricorsivamente i proprietari della directory e di tutti i file in essa contenuti. |
| `-v` | Visualizza le modifiche. |
@@ -604,20 +636,22 @@ Esempio:
sudo chgrp group1 file
```
-| Opzione | Descrizione |
-| ------- | ------------------------------------------------------------------------------- |
+| Opzione | Descrizione |
+| ------- | ------------------------------------------------------------------------------------------------------------------ |
| `-R` | Modifica i gruppi proprietari della directory e dei suoi contenuti (ricorsivo). |
-| `-v` | Visualizza le modifiche. |
+| `-v` | Visualizza le modifiche. |
!!! Note "Nota"
+ ```
È possibile applicare a un file un proprietario e un gruppo di proprietari prendendo come riferimento quelli di un altro file:
+ ```
```bash
chown [options] --reference=RRFILE FILE
```
-Per esempio:
+Ad esempio:
```bash
chown --reference=/etc/groups /etc/passwd
@@ -640,12 +674,12 @@ $ sudo gpasswd -A alain GroupA
[alain]$ gpasswd -a patrick GroupA
```
-| Opzione | Descrizione |
-| ------------- | -------------------------------------------------------------------------------------------- |
-| `-a login` | Aggiunge l'utente al gruppo. Per l'utente aggiunto, questo gruppo è un gruppo supplementare. |
-| `-A login` | Imposta l'elenco degli utenti amministrativi. |
-| `-d USER` | Rimuove l'utente dal gruppo. |
-| `-M USER,...` | Imposta l'elenco dei membri del gruppo. |
+| Opzione | Descrizione |
+| ------------- | ---------------------------------------------------------------------------------------------------------------------------- |
+| `-a USER` | Aggiunge l'utente al gruppo. Per l'utente aggiunto, questo gruppo è un gruppo supplementare. |
+| `-A USER,...` | Imposta l'elenco degli utenti amministrativi. |
+| `-d USER` | Rimuove l'utente dal gruppo. |
+| `-M USER,...` | Imposta l'elenco dei membri del gruppo. |
Il comando `gpasswd -M` agisce come una modifica, non come un'aggiunta.
@@ -655,7 +689,7 @@ New Password:
Re-enter new password:
```
-!!! note "Nota"
+!!! note
Oltre a usare `gpasswd -a` per aggiungere utenti a un gruppo, si può anche usare `usermod -G` o `usermod -aG` menzionati prima.
@@ -738,29 +772,29 @@ sudo passwd -l albert
sudo passwd -n 60 -x 90 -w 80 -i 10 patrick
```
-| Opzione | Descrizione |
-| --------- | --------------------------------------------------------------------------------------------------------------------- |
-| `-d` | Rimuove in modo permanente la password. Solo per root (uid=0). |
-| `-l` | Blocca in modo permanente l'account utente. Solo per root (uid=0). |
-| `-S` | Visualizza lo stato dell'account. Solo per root (uid=0). |
-| `-u` | Sblocca in modo permanente l'account utente. Solo per root (uid=0). |
-| `-e` | Fa scadere definitivamente la password. Solo per root (uid=0). |
-| `-n DAYS` | Definisce la durata minima della password. Cambiamento permanente. Solo per root (uid=0). |
-| `-x DAYS` | Definisce la durata massima della password. Cambiamento permanente. Solo per root (uid=0). |
-| `-w DAYS` | Definisce il tempo di avviso prima della scadenza. Cambiamento permanente. Solo per root (uid=0). |
-| `-i DAYS` | Definisce il ritardo prima della disattivazione quando la password scade. Modifica permanente. Solo per root (uid=0). |
+| Opzione | Descrizione |
+| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `-d` | Rimuove in modo permanente la password. Solo per root (uid=0). |
+| `-l` | Blocca in modo permanente l'account utente. Solo per root (uid=0). |
+| `-S` | Visualizza lo stato dell'account. Solo per root (uid=0). |
+| `-u` | Sblocca in modo permanente l'account utente. Solo per root (uid=0). |
+| `-e` | Fa scadere definitivamente la password. Solo per root (uid=0). |
+| `-n DAYS` | Definisce la durata minima della password. Cambiamento permanente. Solo per root (uid=0). |
+| `-x DAYS` | Definisce la durata massima della password. Cambiamento permanente. Solo per root (uid=0). |
+| `-w DAYS` | Definisce il tempo di avviso prima della scadenza. Cambiamento permanente. Solo per root (uid=0). |
+| `-i DAYS` | Definisce il ritardo prima della disattivazione quando la password scade. Cambiamento permanente. Solo per root (uid=0). |
Usare `password -l`, cioè aggiungere "!!" all'inizio del campo della password dell'utente corrispondente a `/etc/shadow`.
Esempio:
-* Alain cambia la sua password:
+- Alain cambia la sua password:
```bash
[alain]$ passwd
```
-* root cambia la password di Alain
+- root cambia la password di Alain
```bash
sudo passwd alain
@@ -768,7 +802,9 @@ sudo passwd alain
!!! Note "Nota"
+ ```
Gli utenti connessi al sistema possono usare il comando `passwd` per cambiare la propria password (questo processo richiede la richiesta della vecchia password dell'utente). L'utente root(uid=0) può cambiare la password di qualsiasi utente.
+ ```
La modifica delle password richiede la conformità ai criteri di sicurezza prescritti, il che implica la conoscenza di **PAM (Pluggable Authentication Modules)**.
@@ -784,7 +820,9 @@ sudo echo "azerty,1" | passwd --stdin philippe
!!! Warning "Attenzione"
+ ```
La password viene inserita in chiaro, mentre `passwd` la cripta.
+ ```
### comando `chage`
@@ -800,17 +838,17 @@ Esempio:
sudo chage -m 60 -M 90 -W 80 -I 10 alain
```
-| Opzione | Descrizione |
-| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `-I DAYS` | Definisce i giorni di ritardo prima della disattivazione, a password scaduta. Cambiamento permanente. |
-| `-l` | Visualizza i dettagli della politica. |
-| `-m DAYS` | Definisce la durata minima della password. Cambiamento permanente. |
-| `-M DAYS` | Definisce la durata massima della password. Cambiamento permanente. |
+| Opzione | Descrizione |
+| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `-i DAYS` | Definisce i giorni di ritardo prima della disattivazione, a password scaduta. Cambiamento permanente. |
+| `-l` | Visualizza i dettagli della politica. |
+| `-m DAYS` | Definisce la durata minima della password. Cambiamento permanente. |
+| `-M DAYS` | Definisce la durata massima della password. Cambiamento permanente. |
| `-d LAST_DAY` | Definisce il numero di giorni dall'ultima modifica della password. È possibile utilizzare lo stile di data e ora dei giorni o lo stile YYYY-MM-DD. Cambiamento permanente. |
-| `-E EXPIRE_DATE` | Definisce la data di scadenza dell'account. È possibile utilizzare lo stile di data e ora dei giorni o lo stile YYYY-MM-DD. Modifica permanente. |
-| `-W WARN_DAYS` | Definisce il numero di giorni di avviso prima della scadenza. Cambiamento permanente. |
+| `-E EXPIRE_DATE` | Definisce la data di scadenza dell'account. È possibile utilizzare lo stile di data e ora dei giorni o lo stile YYYY-MM-DD. Cambiamento permanente. |
+| `-W WARN_DAYS` | Definisce il numero di giorni di avviso prima della scadenza. Cambiamento permanente. |
-Esempio:
+Esempi:
```bash
# Il comando `chage` offre anche una modalità interattiva.
@@ -826,15 +864,17 @@ $ sudo chage -d 0 philippe
File di configurazione:
-* `/etc/default/useradd`
-* `/etc/login.defs`
-* `/etc/skel`
+- `/etc/default/useradd`
+- `/etc/login.defs`
+- `/etc/skel`
!!! Note "Nota"
+ ```
La modifica del file `/etc/default/useradd` viene eseguita con il comando `useradd`.
Gli altri file devono essere modificati con un editor di testo.
+ ```
### file `/etc/default/useradd`
@@ -842,7 +882,7 @@ Questo file contiene le impostazioni predefinite dei valori.
!!! Tip "Suggerimento"
- Se le opzioni non vengono specificate durante la creazione di un utente, il sistema utilizza i valori predefiniti presenti in `/etc/default/useradd`.
+Se le opzioni non vengono specificate durante la creazione di un utente, il sistema utilizza i valori predefiniti presenti in `/etc/default/useradd`.
Questo file viene modificato dal comando `useradd -D` (`useradd -D` inserito senza altre opzioni visualizza il contenuto del file `/etc/default/useradd`).
@@ -857,15 +897,15 @@ SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
```
-| Parametri | Commento |
-| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `GROUP` | Definisce il GID del gruppo primario predefinito. |
-| `HOME` | Definisce il percorso della directory del livello superiore della home directory dell'utente comune. |
+| Parametri | Commento |
+| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `GROUP` | Definisce il GID del gruppo primario predefinito. |
+| `HOME` | Definisce il percorso della directory del livello superiore della home directory dell'utente comune. |
| `INACTIVE` | Numero di giorni di tolleranza dopo la scadenza della password. Corrisponde al 7° campo del file `/etc/shadow`. Il valore `-1` indica che il periodo di tolleranza è disattivato. |
-| `EXPIRE` | Definisce la data di scadenza dell'account. Corrisponde all'ottavo campo del file `/etc/shadow`. |
-| `SHELL` | Definisce l'interprete dei comandi. |
-| `SKEL` | Definisce la struttura della directory di login. |
-| `CREATE_MAIL_SPOOL` | Definisce la creazione della cassetta postale in `/var/spool/mail/`. |
+| `EXPIRE` | Definisce la data di scadenza dell'account. Corrisponde all'ottavo campo del file `/etc/shadow`. |
+| `SHELL` | Definisce l'interprete dei comandi. |
+| `SKEL` | Definisce la struttura della directory di login. |
+| `CREATE_MAIL_SPOOL` | Definisce la creazione della cassetta postale in `/var/spool/mail/`. |
Se non si ha bisogno di un gruppo primario con lo stesso nome quando si creano gli utenti, si può fare in questo modo:
@@ -875,10 +915,10 @@ Shell > id test2
uid=1001(test2) gid=100(users) groups=100(users)
```
-!!! note "Nota"
+!!! note
GNU/Linux ha due meccanismi di gruppo:
-
+
1. Gruppo pubblico, il suo gruppo primario è GID=100
2. Gruppo privato, ovvero, quando si aggiungono utenti, viene creato un gruppo con lo stesso nome come gruppo primario. Questo meccanismo di gruppo è comunemente usato da RHEL e dalle relative distribuzioni a valle.
@@ -886,7 +926,7 @@ uid=1001(test2) gid=100(users) groups=100(users)
```bash
# Comment line ignored
-shell > cat /etc/login.defs
+shell > cat /etc/login.defs
MAIL_DIR /var/spool/mail
UMASK 022
HOME_MODE 0700
@@ -907,7 +947,7 @@ USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
```
-`UMASK 022`: Questo 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). Per esempio:
+`UMASK 022`: Questo 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). Ad esempio:
```bash
Shell > touch a.txt
@@ -933,9 +973,9 @@ Quando viene creato un utente, vengono creati la sua home directory e i suoi fil
Questi file vengono copiati automaticamente dalla directory `/etc/skel`.
-* `.bash_logout`
-* `.bash_profile`
-* `.bashrc`
+- `.bash_logout`
+- `.bash_profile`
+- `.bashrc`
Tutti i file e le directory presenti in questa directory verranno copiati nell'albero utente al momento della creazione.
@@ -956,8 +996,8 @@ $ sudo su - alain
[albert]$ su - root -c "passwd alain"
```
-| Opzione | Descrizione |
-| ------------ | ----------------------------------------------------------- |
+| Opzione | Descrizione |
+| ------------ | --------------------------------------------------------------------------- |
| `-` | Carica l'ambiente completo dell'utente. |
| `-c` comando | Esegue il comando sotto l'identità dell'utente specificato. |
@@ -967,22 +1007,24 @@ Gli utenti standard dovranno digitare la password per la nuova identità.
!!! Tip "Suggerimento"
+ ````
È possibile utilizzare il comando `exit`/`logout` per uscire dagli utenti commutati. Si noti che dopo il cambio di utente non esiste una nuova `child shell` o `sub shell`, ad esempio:
-
+
```
$ whoami
root
$ echo $SHLVL ; echo $BASH_SUBSHELL
1
0
-
+
$ su - test1
$ echo $SHLVL ; echo $BASH_SUBSHELL
1
0
```
+ ````
-Attenzione prego! `su` e `su -` sono diversi, come mostrato nell'esempio seguente:
+Attention please! `su` e `su -` sono diversi, come mostrato nell'esempio seguente:
```bash
$ whoami
diff --git a/docs/books/nvchad/additional_software.it.md b/docs/books/nvchad/additional_software.it.md
index 183cc6c179..bc5555dee3 100644
--- a/docs/books/nvchad/additional_software.it.md
+++ b/docs/books/nvchad/additional_software.it.md
@@ -14,39 +14,43 @@ Esistono diversi software aggiuntivi che, pur non essendo necessari, facilitano
## :material-text-search: RipGrep
-`ripgrep` è uno strumento di ricerca orientato alla riga di comando che ricerca ricorsivamente la directory corrente per un modello di *regex* (espressione regolare). Per impostazione predefinita, *ripgrep* rispetta le regole di *gitignore* e salta automaticamente i file/directory e i file binari nascosti. Ripgrep offre un eccellente supporto su Windows, macOS e Linux, con binari disponibili per ogni release.
+`ripgrep` è uno strumento di ricerca orientato alla riga di comando che ricerca ricorsivamente la directory corrente per un modello di _regex_ (espressione regolare). Per impostazione predefinita, _ripgrep_ rispetta le regole di _gitignore_ e salta automaticamente i file/directory e i file binari nascosti. Ripgrep offre un eccellente supporto su Windows, macOS e Linux, con binari disponibili per ogni release.
-=== "Installare RipGrep da EPEL"
+\=== "Installare RipGrep da EPEL"
+ ````
In entrambi Rocky Linux 8 e 9, è possibile installare RipGrep dall'EPEL. Per farlo, installare la `epel-release`, aggiornare il sistema e quindi installare `ripgrep`:
-
+
```bash
sudo dnf install -y epel-release
sudo dnf upgrade
sudo dnf install ripgrep
```
+ ````
-=== "Installare RipGrep usando cargo"
+\=== "Installare RipGrep usando cargo"
+ ````
Ripgrep è un software scritto in *Rust* ed è installabile con l'utilità `cargo`. Da notare, tuttavia, che `cargo' non è installato dall'installazione predefinita di *rust*, quindi è necessario installarlo esplicitamente. Se si verificano errori con questo metodo, tornare all'installazione da EPEL.
-
+
```bash
dnf install rust cargo
```
-
-
+
+
Una volta installato il software necessario, si può installare `ripgrep` con:
-
+
```bash
cargo install ripgrep
```
-
-
+
+
L'installazione salverà l'eseguibile `rg` nella cartella `~/.cargo/bin`, che è al di fuori del PATH; per utilizzarlo a livello utente, sarà necessario collegarlo a `~/.local/bin/`.
-
+
```bash
ln -s ~/.cargo/bin/rg ~/.local/bin/
```
+ ````
## :material-check-all: Verificare RipGrep
@@ -63,7 +67,7 @@ RipGrep è necessario per le ricerche ricorsive con `:Telescope`.
## :material-source-merge: Lazygit
-[LazyGit](https://github.com/jesseduffield/lazygit) è un'interfaccia in stile ncurses che consente di eseguire tutte le operazioni di `git` in maniera più agevole. È richiesto dal plugin ==lazygit.nvim==. Questo plugin consente di utilizzare LazyGit direttamente da NvChad, aprendo una finestra fluttuante da cui è possibile eseguire tutte le operazioni sui repository, consentendo così di apportare tutte le modifiche al *repository di Git* senza uscire dall'editor.
+[LazyGit](https://github.com/jesseduffield/lazygit) è un'interfaccia in stile ncurses che consente di eseguire tutte le operazioni di `git` in maniera più agevole. È richiesto dal plugin ==lazygit.nvim==. Questo plugin consente di utilizzare LazyGit direttamente da NvChad, aprendo una finestra fluttuante da cui è possibile eseguire tutte le operazioni sui repository, consentendo così di apportare tutte le modifiche al _repository di Git_ senza uscire dall'editor.
Per installarlo si può utilizzare il repository di Fedora. Su Rocky Linux 9 funziona perfettamente.
diff --git a/docs/books/nvchad/index.it.md b/docs/books/nvchad/index.it.md
index 6377f61f0c..b7443ae970 100644
--- a/docs/books/nvchad/index.it.md
+++ b/docs/books/nvchad/index.it.md
@@ -19,9 +19,9 @@ Volete un IDE che vi aiuti a scrivere i playbook di Ansible? Puoi ottenerlo! Vol
Grazie all'uso dei ==**L**anguage **S**erver **P**rotocols== e dei ==linters==, è possibile configurare un ambiente personalizzato per l'utente. La cosa migliore è che una volta configurato l'ambiente, è possibile aggiornarlo rapidamente quando sono disponibili nuove modifiche attraverso l'uso di [lazy.nvim](https://github.com/folke/lazy.nvim) e [Mason](https://github.com/williamboman/mason.nvim), entrambi trattati qui.
-Poiché Neovim è un fork di [Vim](https://www.vim.org/), l'interfaccia generale sarà familiare agli utenti di *vim*. Se non siete utenti di *vim*, con questo libro imparerete rapidamente la sintassi dei comandi. Le informazioni trattate sono molte, ma è facile seguirle e, una volta completato il contenuto, saprete abbastanza per costruire il vostro IDE per *le vostre* esigenze con questi strumenti.
+Poiché Neovim è un fork di [Vim](https://www.vim.org/), l'interfaccia generale sarà familiare agli utenti di _vim_. Se non siete utenti di _vim_, con questo libro imparerete rapidamente la sintassi dei comandi. Le informazioni trattate sono molte, ma è facile seguirle e, una volta completato il contenuto, saprete abbastanza per costruire il vostro IDE per _le vostre_ esigenze con questi strumenti.
-L'intento dell'autore era quello di **non** suddividere il libro in capitoli. Il motivo è che ciò implica un ordine da seguire che, nella maggior parte dei casi, non è necessario. *Si* consiglia di iniziare da questa pagina, leggere e seguire le sezioni "Software aggiuntivo", "Installare Neovim" e "Installare NvChad", ma da lì si può scegliere come procedere.
+L'intento dell'autore era quello di **non** suddividere il libro in capitoli. Il motivo è che ciò implica un ordine da seguire che, nella maggior parte dei casi, non è necessario. _Si_ consiglia di iniziare da questa pagina, leggere e seguire le sezioni "Software aggiuntivo", "Installare Neovim" e "Installare NvChad", ma da lì si può scegliere come procedere.
## :simple-neovim: Utilizzo di Neovim come IDE
@@ -37,12 +37,12 @@ Come gli sviluppatori di NvChad tengono a precisare, il progetto vuole essere so
### Caratteristiche Principali
-* :material-run-fast: **Progettato per essere veloce.** Dalla scelta del linguaggio di programmazione alle tecniche di caricamento dei componenti, tutto è stato pensato per ridurre al minimo i tempi di esecuzione.
-* :material-invert-colors: **Interfaccia attraente.** Nonostante sia un'applicazione *cli*, l'interfaccia ha un aspetto moderno e bello dal punto di vista grafico, inoltre tutti i componenti si adattano perfettamente all'interfaccia utente.
-* :material-file-settings-outline: **Estremamente configurabile.** Grazie alla modularità derivata dall'applicazione di base (NeoVim), l'editor può essere adattato perfettamente alle proprie esigenze. Tuttavia, ricordate che quando parliamo di personalizzazione, ci riferiamo alla funzionalità e non all'aspetto dell'interfaccia.
-* :material-update: **Meccanismo di aggiornamento automatico.** L'editor è dotato di un meccanismo (attraverso l'uso di *git*) che consente di effettuare aggiornamenti con un semplice comando `:NvChadUpdate`.
-* :material-language-lua: **Powered by Lua**. La configurazione di NvChad è scritta interamente in *lua*, il che le permette di integrarsi perfettamente nella configurazione di Neovim, sfruttando tutte le potenzialità dell'editor su cui si basa.
-* :material-palette-outline: **Numerosi temi integrati.** La configurazione comprende già un gran numero di temi da utilizzare, ricordando sempre che stiamo parlando di un'applicazione *cli*, i temi possono essere selezionati con il tasto `- !!! note "Dichiarazione del blocco di codice" -
- -Le regole del codice Markdown raccomandano di dichiarare sempre il codice utilizzato nel blocco, anche senza evidenziare le caratteristiche per una corretta interpretazione. Se il codice al suo interno è troppo generico, si consiglia di usare "text" per la sua dichiarazione.
-
-
- - Le chiavi di attivazione per le scorciatoie Markdown includono anche altre combinazioni che si possono scoprire con l'uso del server linguistico. -
- - +| Tasto | Snippets | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ++"h"++ | Controlla con il comando `id` per verificare che il gruppo sia stato aggiunto. Consente l'inserimento rapido dei titoli (_h1_ a _h6_), ad esempio, inserendo _h4_ e premendo Invio verranno inseriti quattro segni di cancelletto e uno spazio e il cursore sarà già posizionato per inserire il titolo. | +| ++"b"++ | Inserendo questo carattere si attiva la possibilità di utilizzare la scorciatoia per inserire testo in grassetto inserendo quattro asterischi e posizionando il cursore al centro, rendendo molto più veloce la scrittura della parte in **grassetto**. | +| ++"i"++ | Come per il carattere precedente, consente di selezionare l'inserimento rapido di testo _in corsivo_ inserendo due asterischi e posizionando il cursore tra di essi. | +| ++"bi"++ | Questo tasto inserisce sei asterischi posizionando il cursore al centro per scrivere il testo in _**grassetto e corsivo**_. | +| ++"img"++ | Questa parola chiave inserisce la struttura markdown per inserire un'immagine nel documento nel formato ``. Si noti che la scrittura del percorso può essere effettuata utilizzando il completamento automatico fornito dal server. | +| ++"link"++ | Questo parametro crea la struttura del tag markdown per un link `[testo](url)`. Anche in questo caso, se il collegamento fa riferimento a un file nella **directory di lavoro**, sarà possibile utilizzare il completamento automatico e il server verificherà la correttezza del riferimento. | +| ++"list"++ | La digitazione di questa chiave consente di inserire un elenco di tre elementi per iniziare la creazione di un elenco numerato o non ordinato | +| ++"q"++ | Questo parametro consente l'inserimento del tag per una citazione `>` seguito da uno spazio e posiziona il cursore per scrivere la citazione. | +| ++"s"++ | Questo carattere attiva numerose possibilità, tra cui l'inserimento di quattro tildes e il posizionamento del cursore al centro per la scrittura del testo ~~barrato~~ | +| ++"sup"++ | Il parametro inserisce il tag _apice_. TrademarkTM | +| ++"sub"++ | Il parametro inserisce il tag subscript. Note1 | +| ++"table"++ | Questo tasto consente di creare rapidamente la struttura di una tabella e di scegliere tra numerose strutture di partenza | +| ++"code"++ | Inserisce un blocco di codice in linea posizionando due backtick nella posizione in cui si trova il cursore, posizionandolo al centro dei due backtick. | +| ++"codeblock"++ | Inserisce tre righe, due con triplo backtick e una vuota, dove si inseriscono i blocchi di codice. Si noti che inserisce anche la stringa _language_, che deve essere compilata con il linguaggio utilizzato nel blocco. | + +!!! note "Istruzione Code block" + + Le regole del codice Markdown raccomandano di dichiarare sempre il codice utilizzato nel blocco, anche senza funzioni di evidenziazione per una corretta interpretazione. Se il codice al suo interno è troppo generico, si consiglia di utilizzare “testo” per la sua dichiarazione. + +Le chiavi di attivazione per le scorciatoie Markdown includono anche altre combinazioni che si possono scoprire con l'uso del server linguistico. -- Anche se non è strettamente necessario, questo server linguistico può diventare, col tempo, un ottimo compagno nella scrittura della documentazione per Rocky Linux. -
+Anche se non è strettamente necessario, questo server linguistico può diventare, col tempo, un ottimo compagno nella scrittura della documentazione per Rocky Linux. -- Il suo utilizzo e la conseguente memorizzazione dei principali tasti per l'inserimento dei simboli del codice Markdown consentirà una scrittura più rapida, permettendo di concentrare l'attenzione sul contenuto. -
+Il suo utilizzo e la conseguente memorizzazione dei principali tasti per l'inserimento dei simboli del codice Markdown consentirà una scrittura più rapida, permettendo di concentrare l'attenzione sul contenuto. diff --git a/docs/books/nvchad/nerd_fonts.it.md b/docs/books/nvchad/nerd_fonts.it.md index 02274d219f..7c17cbf7a3 100644 --- a/docs/books/nvchad/nerd_fonts.it.md +++ b/docs/books/nvchad/nerd_fonts.it.md @@ -27,11 +27,13 @@ https://www.nerdfonts.com/font-downloads ### :material-monitor-arrow-down-variant: Procedura di installazione -L'installazione dei Nerd Fonts in Rocky Linux si effettua interamente dalla riga di comando grazie all'implementazione della procedura fornita dal repository del progetto [ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd-fonts). La procedura utilizza *git* per recuperare i font necessari e *fc-cache* per la loro configurazione. +L'installazione dei Nerd Fonts in Rocky Linux si effettua interamente dalla riga di comando grazie all'implementazione della procedura fornita dal repository del progetto [ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd-fonts). La procedura utilizza _git_ per recuperare i font necessari e _fc-cache_ per la loro configurazione. -!!! Note "Nota" +!!! Note + ``` Questo metodo può essere usato su tutte le distribuzioni *linux* che usano [fontconfig](https://www.freedesktop.org/wiki/Software/fontconfig/) per la gestione dei font di sistema. + ``` Per iniziare, recuperare i file necessari dal repository del progetto: @@ -39,7 +41,7 @@ Per iniziare, recuperare i file necessari dal repository del progetto: git clone --filter=blob:none --sparse git@github.com:ryanoasis/nerd-fonts ``` -Questo comando scarica solo i file necessari, omettendo i font contenuti in *patched-fonts*, in modo da non appesantire il repository locale con font che poi non verranno utilizzati, consentendo così un'installazione selettiva. +Questo comando scarica solo i file necessari, omettendo i font contenuti in _patched-fonts_, in modo da non appesantire il repository locale con font che poi non verranno utilizzati, consentendo così un'installazione selettiva. Questa guida utilizzerà il font [IBM Plex Mono](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/IBMPlexMono), che offre una visualizzazione pulita e leggermente tipografica, caratteristiche che lo rendono particolarmente adatto alla scrittura di documentazione Markdown. Visitare il sito [dedicato](https://www.programmingfonts.org/#plex-mono) per una panoramica e un'anteprima dei font disponibili. @@ -50,7 +52,7 @@ cd ~/nerd-fonts/ git sparse-checkout add patched-fonts/IBMPlexMono ``` -Il comando scaricherà i font nella cartella *patched-fonts* e al termine sarà possibile installarli con lo script ==install.sh== fornito, digitando: +Il comando scaricherà i font nella cartella _patched-fonts_ e al termine sarà possibile installarli con lo script ==install.sh== fornito, digitando: ```bash ./install.sh IBMPlexMono @@ -58,9 +60,11 @@ Il comando scaricherà i font nella cartella *patched-fonts* e al termine sarà !!! Note "Nome riservato" + ``` Il font durante l'installazione viene rinominato in *BlexMono* per rispettare la SIL Open Font License (OFL) e in particolare il meccanismo [reserved name mechanism](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web_fonts_and_RFNs#14cbfd4a). + ``` -Lo script *install.sh* copia i font nella cartella utente `~/.local/share/fonts/` e invoca il programma *fc-cache* per registrarli nel sistema. Una volta terminato, i font saranno disponibili per l'emulatore di terminale; in particolare, troveremo installati i seguenti font: +Lo script _install.sh_ copia i font nella cartella utente `~/.local/share/fonts/` e invoca il programma _fc-cache_ per registrarli nel sistema. Una volta terminato, i font saranno disponibili per l'emulatore di terminale; in particolare, troveremo installati i seguenti font: ```text title="~/.local/share/fonts/" NerdFonts/ diff --git a/docs/books/nvchad/template_chadrc.it.md b/docs/books/nvchad/template_chadrc.it.md index 9718ef029b..06b6effb44 100644 --- a/docs/books/nvchad/template_chadrc.it.md +++ b/docs/books/nvchad/template_chadrc.it.md @@ -25,8 +25,9 @@ La cartella viene creata da un modello della repository di NvChad di GitHub: ([e ## :material-monitor-arrow-down-variant: Installazione -=== "Installazione all'avvio" +\=== "Installazione all'avvio" + ``` Per crearla durante l'installazione, rispondere "y" alla domanda che viene posta all'inizio dell'installazione: > Do you want to install example custom config? (y/N): @@ -35,39 +36,42 @@ La cartella viene creata da un modello della repository di NvChad di GitHub: ([e Rimuovendola, la cartella può essere posta sotto un controllo di versione personale. La cartella è pronta e verrà utilizzata al successivo avvio di NvChad per inserire le configurazioni personalizzate nell'editor. + ``` -=== "Installazione dal repository" +\=== "Installazione dal repository" + ```` L'installazione della configurazione fornita da ==example-config== può essere fatta anche dopo l'installazione di NvChad, nel qual caso il repository è ugualmente utilizzato ma viene recuperato con un'operazione manuale. L'installazione standard senza ==example-config== crea comunque una cartella *custom* in cui salvare il file ==chadrc.lua== per le personalizzazioni dell'utente e deve essere cancellata o salvata in un ==backup== per consentire l'esecuzione del clone. Salvare quindi la configurazione esistente con: - + ```bash mv ~/.config/nvim/lua/custom/ ~/.config/nvim/lua/custom.bak ``` - - + + E clonare il repository GitHub nella propria configurazione: - + ```bash git clone https://github.com/NvChad/example_config.git ~/.config/nvim/lua/custom ``` - - + + Il comando copia l'intero contenuto dei repository trovati online nella cartella `~/.config/nvim/lua/custom/`, copiando la cartella nascosta `.git`, che è necessario cancellare manualmente per consentire il passaggio a un controllo di versione personale. Eseguire il comando per la sua rimozione: - + ```bash rm rf ~/.config/nvim/lua/custom/.git/ ``` - - + + La cartella è pronta e verrà utilizzata al successivo avvio di NvChad per inserire le configurazioni personalizzate nell'editor. + ```` ## :material-file-outline: Struttura -La struttura della cartella ==custom== consiste in diversi file di configurazione e in una cartella `configs` contenente i file delle opzioni dei plugin impostati in *plugins.lua*. +La struttura della cartella ==custom== consiste in diversi file di configurazione e in una cartella `configs` contenente i file delle opzioni dei plugin impostati in _plugins.lua_. -L'uso di file separati per le impostazioni dei plugin consente di avere un file *plugins.lua* molto più snello e di lavorare solo sul codice del plugin mentre lo si personalizza. Questo è anche il metodo consigliato per sviluppare i plugin che verranno aggiunti in seguito. +L'uso di file separati per le impostazioni dei plugin consente di avere un file _plugins.lua_ molto più snello e di lavorare solo sul codice del plugin mentre lo si personalizza. Questo è anche il metodo consigliato per sviluppare i plugin che verranno aggiunti in seguito. La struttrua creata è la seguente: @@ -75,15 +79,14 @@ La struttrua creata è la seguente: custom/ ├── chadrc.lua ├── configs -│ ├── conform.lua -│ ├── lspconfig.lua -│ └── overrides.lua +│ ├── conform.lua +│ ├── lspconfig.lua +│ └── overrides.lua ├── highlights.lua ├── init.lua ├── mappings.lua ├── plugins.lua └── README.md - ``` Come si può notare, la cartella contiene alcuni file con lo stesso nome, che si incontrano anche nella struttura di base di NvChad. Questi, ti consentono di integrare la configurazione e sovrascrivere le impostazioni di base dell'editor. @@ -119,7 +122,7 @@ M.mappings = require "custom.mappings" return M ``` -Il file viene inserito nella configurazione di Neovim dalla funzione `load_config`, impostata nel file **~/.config/nvim/lua/core/utils.lua**. La funzione si occupa di caricare le impostazioni predefinite e, se presenti, anche quelle del file *chadrc.lua* nella cartella *custom*: +Il file viene inserito nella configurazione di Neovim dalla funzione `load_config`, impostata nel file **~/.config/nvim/lua/core/utils.lua**. La funzione si occupa di caricare le impostazioni predefinite e, se presenti, anche quelle del file _chadrc.lua_ nella cartella _custom_: ```lua M.load_config = function() @@ -128,13 +131,13 @@ M.load_config = function() ... ``` -La sua funzione è quella di inserire i file della cartella *custom* nella configurazione di NvChad, per poi utilizzarli insieme ai file predefiniti per avviare l'istanza di *Neovim*. I file vengono inseriti nell'albero della configurazione attraverso le funzioni `require`, come ad esempio: +La sua funzione è quella di inserire i file della cartella _custom_ nella configurazione di NvChad, per poi utilizzarli insieme ai file predefiniti per avviare l'istanza di _Neovim_. I file vengono inseriti nell'albero della configurazione attraverso le funzioni `require`, come ad esempio: ```lua require("custom.mappings") ``` -La stringa **custom.mappings** indica il percorso relativo al file senza estensione rispetto al percorso predefinito, che in questo caso è **~/.config/nvim/lua/**. Il punto sostituisce la slash, in quanto questa è la convenzione nel codice scritto in Lua (nel linguaggio *lua* non esiste il concetto di *directory*). +La stringa **custom.mappings** indica il percorso relativo al file senza estensione rispetto al percorso predefinito, che in questo caso è **~/.config/nvim/lua/**. Il punto sostituisce la slash, in quanto questa è la convenzione nel codice scritto in Lua (nel linguaggio _lua_ non esiste il concetto di _directory_). In sintesi, possiamo dire che la chiamata descritta sopra inserisce le configurazioni scritte nel file `custom/mappings.lua` nella mappatura di NvChad, inserendo così le scorciatoie per richiamare i comandi per i plugin impostati in `custom/plugins.lua`. @@ -146,7 +149,7 @@ Alla fine del file viene impostata la chiamata ==require== al file `custom/plugi M.plugins = "custom.plugins" ``` -In questo modo, i plugin impostati in `custom/plugins.lua` vengono passati insieme a quelli che compongono la configurazione di NvChad a *lazy.nvim* per l'installazione e la loro gestione. In questo caso, l'inclusione non è nell'albero di Neovim. Si trova invece nella configurazione di *lazy.nvim*, in quanto questo plugin disabilita completamente la funzionalità correlata dell'editor con la chiamata `vim.go.loadplugins = false`. +In questo modo, i plugin impostati in `custom/plugins.lua` vengono passati insieme a quelli che compongono la configurazione di NvChad a _lazy.nvim_ per l'installazione e la loro gestione. In questo caso, l'inclusione non è nell'albero di Neovim. Si trova invece nella configurazione di _lazy.nvim_, in quanto questo plugin disabilita completamente la funzionalità correlata dell'editor con la chiamata `vim.go.loadplugins = false`. #### :material-language-lua: init.lua @@ -179,9 +182,9 @@ Questo, tra l'altro, sostituisce la tabulazione a 2 spazi con una a 4 spazi, pi Questo file imposta i plugin da aggiungere a quelli presenti nella configurazione di base di NvChad. Le istruzioni per inserire i plugin sono spiegate in dettaglio nella pagina dedicata al [Gestore dei plugin](nvchad_ui/plugins_manager.md). -Il file *plugins.lua* creato dal file *example-config* ha nella prima parte una serie di personalizzazioni che sovrascrivono le opzioni di definizione dei plugin e le loro configurazioni predefinite. Questa parte del file non ha bisogno di essere modificata, in quanto gli sviluppatori hanno preparato dei file speciali per questo scopo, presenti nella cartella *config*. +Il file _plugins.lua_ creato dal file _example-config_ ha nella prima parte una serie di personalizzazioni che sovrascrivono le opzioni di definizione dei plugin e le loro configurazioni predefinite. Questa parte del file non ha bisogno di essere modificata, in quanto gli sviluppatori hanno preparato dei file speciali per questo scopo, presenti nella cartella _config_. -Segue l'installazione di un plugin. Questo è stato creato come esempio, in modo da familiarizzare con il formato utilizzato da *lazy.nvim*. +Segue l'installazione di un plugin. Questo è stato creato come esempio, in modo da familiarizzare con il formato utilizzato da _lazy.nvim_. ```lua -- Install a plugin @@ -214,15 +217,17 @@ Questa mappatura viene inserita per lo stato NORMAL `n =` il carattere ++";"++ u !!! Tip "Suggerimento" + ``` Per gli utenti con tastiere europee (come quella italiana), si consiglia di sostituire il carattere ++";"++ con ++","++. + ``` #### :material-language-lua: highlights.lua -Il file viene utilizzato per personalizzare lo stile dell'editor. Le impostazioni inserite qui servono a modificare aspetti come lo stile dei caratteri (**bold**, *italic*), il colore di sfondo di un elemento, il colore di primo piano e così via. +Il file viene utilizzato per personalizzare lo stile dell'editor. Le impostazioni inserite qui servono a modificare aspetti come lo stile dei caratteri (**bold**, _italic_), il colore di sfondo di un elemento, il colore di primo piano e così via. ### :material-folder-cog-outline: Cartella configs -Questa cartella contiene tutti i file di configurazione utilizzati nel file **custom/plugins.lua** che consentono di modificare le impostazioni predefinite dei plugin che si occupano dei server linguistici (*lspconfig*) e dei linter/formatter (*conform*), e per sovrascrivere le impostazioni di base di **treesitter**, **mason**, e **nvim-tree** (*override*). +Questa cartella contiene tutti i file di configurazione utilizzati nel file **custom/plugins.lua** che consentono di modificare le impostazioni predefinite dei plugin che si occupano dei server linguistici (_lspconfig_) e dei linter/formatter (_conform_), e per sovrascrivere le impostazioni di base di **treesitter**, **mason**, e **nvim-tree** (_override_). ```text configs/ @@ -233,7 +238,7 @@ configs/ #### :material-language-lua: lspconfig.lua -Il file *lspconfig.lua* imposta i server linguistici locali che l'editor può utilizzare. Ciò consentirà di utilizzare funzioni avanzate per i file supportati, come il completamento automatico o gli snippet, per creare rapidamente parti di codice. Per aggiungere il nostro *lsp* alla configurazione, è sufficiente modificare la tabella (in *lua* quello che viene rappresentato qui sotto tra parentesi graffe è una tabella) preparata appositamente dagli sviluppatori di NvChad: +Il file _lspconfig.lua_ imposta i server linguistici locali che l'editor può utilizzare. Ciò consentirà di utilizzare funzioni avanzate per i file supportati, come il completamento automatico o gli snippet, per creare rapidamente parti di codice. Per aggiungere il nostro _lsp_ alla configurazione, è sufficiente modificare la tabella (in _lua_ quello che viene rappresentato qui sotto tra parentesi graffe è una tabella) preparata appositamente dagli sviluppatori di NvChad: ```lua local servers = { "html", "cssls", "tsserver", "clangd" } @@ -247,11 +252,11 @@ Ad esempio, se vogliamo avere anche il supporto per il linguaggio `yaml`, possia local servers = { "html", "cssls", "tsserver", "clangd", "yamlls" } ``` -La modifica del file, tuttavia, non comporta l'installazione del relativo server linguistico. Questo, dev'essere installato separatamente con *Mason*. Il server linguistico che fornisce il supporto a *yaml* è [yaml-language-server](https://github.com/redhat-developer/yaml-language-server) che andrà installato con il comando `:MasonInstall yaml-language-server`. A questo punto avremo, ad esempio, il controllo del codice scritto nelle intestazioni (*frontmatter*) delle pagine di documentazione di Rocky Linux. +La modifica del file, tuttavia, non comporta l'installazione del relativo server linguistico. Questo, dev'essere installato separatamente con _Mason_. Il server linguistico che fornisce il supporto a _yaml_ è [yaml-language-server](https://github.com/redhat-developer/yaml-language-server) che andrà installato con il comando `:MasonInstall yaml-language-server`. A questo punto avremo, ad esempio, il controllo del codice scritto nelle intestazioni (_frontmatter_) delle pagine di documentazione di Rocky Linux. #### :material-language-lua: conform.lua - Questo file configura alcune funzioni orientate al controllo e la formattazione del codice scritto. La modifica di questo file richiede maggiori ricerche per la configurazione rispetto al precedente. Una panoramica dei componenti disponibili si trova nella pagina [dei builtins](https://github.com/stevearc/conform.nvim/tree/master?tab=readme-ov-file#formatters). +Questo file configura alcune funzioni orientate al controllo e la formattazione del codice scritto. La modifica di questo file richiede maggiori ricerche per la configurazione rispetto al precedente. Una panoramica dei componenti disponibili si trova nella pagina [dei builtins](https://github.com/stevearc/conform.nvim/tree/master?tab=readme-ov-file#formatters). Anche in questo caso è stata creata una tabella, la tabella ==formatters_by_ft==, dove inserire le personalizzazioni: @@ -277,7 +282,7 @@ Come si può vedere, nella configurazione iniziale sono stati inclusi solo i for markdown = { "markdownlint" }, ``` -Anche in questo caso, la configurazione richiede l'installazione del pacchetto corrispondente, che viene effettuata con *Mason*: +Anche in questo caso, la configurazione richiede l'installazione del pacchetto corrispondente, che viene effettuata con _Mason_: ```text :MasonInstall markdownlint @@ -285,15 +290,17 @@ Anche in questo caso, la configurazione richiede l'installazione del pacchetto c !!! Note "Nota" + ``` La configurazione di questo formattatore richiede anche la creazione di un file di configurazione nella cartella home, che non verrà trattato in questo documento. + ``` #### :material-language-lua: overrides.lua -Il file *overrides.lua* contiene le modifiche da apportare alle impostazioni predefinite del plugin. I plugin a cui applicare le modifiche sono specificati nella sezione ==-- Override plugin definition options== del file `custom/plugins.lua` tramite l'opzione **opts** (ad esempio `opts = overrides.mason`). +Il file _overrides.lua_ contiene le modifiche da apportare alle impostazioni predefinite del plugin. I plugin a cui applicare le modifiche sono specificati nella sezione ==-- Override plugin definition options== del file `custom/plugins.lua` tramite l'opzione **opts** (ad esempio `opts = overrides.mason`). -Nella configurazione iniziale ci sono tre plugin che devono essere sovrascritti e sono *treesitter*, *mason* e *nvim-tree*. Tralasciando per il momento *nvim-tree*, ci concentreremo sui primi due che ci permettono di cambiare in modo significativo la nostra esperienza di editing. +Nella configurazione iniziale ci sono tre plugin che devono essere sovrascritti e sono _treesitter_, _mason_ e _nvim-tree_. Tralasciando per il momento _nvim-tree_, ci concentreremo sui primi due che ci permettono di cambiare in modo significativo la nostra esperienza di editing. -*treesitter* è un parser di codice che si occupa della sua formattazione in modo interattivo. Ogni volta che viene salvato un file riconosciuto da *treesitter*, questo viene passato al parser, che restituisce un albero di codice indentato ed evidenziato in modo ottimale, rendendo più facile la lettura, l'interpretazione e la modifica del codice nell'editor. +_treesitter_ è un parser di codice che si occupa della sua formattazione in modo interattivo. Ogni volta che viene salvato un file riconosciuto da _treesitter_, questo viene passato al parser, che restituisce un albero di codice indentato ed evidenziato in modo ottimale, rendendo più facile la lettura, l'interpretazione e la modifica del codice nell'editor. La parte del codice che si occupa di questo aspetto è la seguente: @@ -320,7 +327,7 @@ M.treesitter = { } ``` -Ora, seguendo l'esempio precedente, se vogliamo che il *frontmatter* delle nostre pagine di documentazione su Rocky Linux sia evidenziato correttamente, possiamo aggiungere il supporto per *yaml* nella tabella `ensure_installed` dopo l'ultimo parser impostato: +Ora, seguendo l'esempio precedente, se vogliamo che il _frontmatter_ delle nostre pagine di documentazione su Rocky Linux sia evidenziato correttamente, possiamo aggiungere il supporto per _yaml_ nella tabella `ensure_installed` dopo l'ultimo parser impostato: ```text ... @@ -340,7 +347,7 @@ Per avere il parser disponibile direttamente nell'istanza in esecuzione di NvCha :TSInstall yaml ``` -Di seguito nel file è riportata la parte relativa all'installazione dei server da parte di *Mason*. Tutti i server impostati in questa tabella vengono installati in un'unica operazione con il comando `:MasonInstallAll` (questo comando viene richiamato anche durante la creazione della cartella *custom*). La parte è la seguente: +Di seguito nel file è riportata la parte relativa all'installazione dei server da parte di _Mason_. Tutti i server impostati in questa tabella vengono installati in un'unica operazione con il comando `:MasonInstallAll` (questo comando viene richiamato anche durante la creazione della cartella _custom_). La parte è la seguente: ```lua M.mason = { @@ -359,7 +366,7 @@ M.mason = { } ``` -Ancora una volta, seguendo l'esempio iniziale in cui abbiamo abilitato il supporto per *yaml* installando manualmente il server, possiamo assicurarci di averlo sempre installato aggiungendolo alla tabella: +Ancora una volta, seguendo l'esempio iniziale in cui abbiamo abilitato il supporto per _yaml_ installando manualmente il server, possiamo assicurarci di averlo sempre installato aggiungendolo alla tabella: ```text ... @@ -376,13 +383,10 @@ Sebbene questo aspetto possa essere marginale su un'istanza di esecuzione di NvC Ad esempio, supponiamo di aver configurato la nostra cartella `custom` e di volerla trasferire ad un'altra installazione di NvChad. Se si è configurato questo file, dopo aver copiato o clonato la cartella `custom` sarà sufficiente un `:MasonInstallAll` per avere tutti i server pronti all'uso anche sull'altra installazione. - -La parte finale della configurazione, la sezione `M.nvimtree`, si occupa di configurare *nvim-tree* abilitando la funzionalità di visualizzazione dello stato dell'albero dei file relativo al repository git: +La parte finale della configurazione, la sezione `M.nvimtree`, si occupa di configurare _nvim-tree_ abilitando la funzionalità di visualizzazione dello stato dell'albero dei file relativo al repository git: ```lua - git = { - enable = true, - }, + ``` la loro evidenziazione e le icone corrispondenti: @@ -402,4 +406,4 @@ la loro evidenziazione e le icone corrispondenti: L'introduzione in NvChad 2.0 della possibilità di creare una cartella `custom` durante la prima installazione è sicuramente un grande aiuto per tutti quegli utenti che si avvicinano a questo editor per la prima volta. Inoltre, offre anche un notevole risparmio di tempo per coloro che hanno già avuto a che fare con NvChad. -Grazie alla sua introduzione e all'uso di *Mason*, l'integrazione delle proprie funzionalità è semplice e veloce. Bastano poche modifiche e si è subito pronti a utilizzare l'IDE per scrivere del codice. +Grazie alla sua introduzione e all'uso di _Mason_, l'integrazione delle proprie funzionalità è semplice e veloce. Bastano poche modifiche e si è subito pronti a utilizzare l'IDE per scrivere del codice. diff --git a/docs/books/nvchad/vale_nvchad.it.md b/docs/books/nvchad/vale_nvchad.it.md index 5d8625acff..8e5e7fcb83 100644 --- a/docs/books/nvchad/vale_nvchad.it.md +++ b/docs/books/nvchad/vale_nvchad.it.md @@ -15,15 +15,15 @@ tags: ## :material-arrow-bottom-right-bold-outline: Prerequisiti -* È utile la familiarità con NvChad 2.0 -* Possibilità di modificare i file dalla riga di comando utilizzando l'editor preferito. (`vi` o il vostro preferito) -* Il plugin *nvim-lint* correttamente installato in NvChad. +- È utile la familiarità con NvChad 2.0 +- Possibilità di modificare i file dalla riga di comando utilizzando l'editor preferito. (`vi` o il vostro preferito) +- Il plugin _nvim-lint_ correttamente installato in NvChad. ### :material-monitor-arrow-down-variant: Installazione di nvim-lint Il plugin [nvim-lint](https://github.com/mfussenegger/nvim-lint) fornisce il supporto per l'inserimento dei ==linters== nell'editor, fornendo la correzione del codice o del contenuto sia per la parte sintattica che per quella semantica. -Per installare il plugin *nvim-lint*, è sufficiente creare un file **nvim-lint.lua** nella cartella `lua/plugins`; al successivo avvio dell'istanza di Neovim, questo verrà integrato nella configurazione. +Per installare il plugin _nvim-lint_, è sufficiente creare un file **nvim-lint.lua** nella cartella `lua/plugins`; al successivo avvio dell'istanza di Neovim, questo verrà integrato nella configurazione. Il contenuto del file è il seguente: @@ -67,18 +67,17 @@ Invece di consultare l'intero elenco dei pacchetti, utilizziamo la voce del menu Sono disponibili due metodi per configurare `vale`. Si può scegliere il proprio preferito tra le due opzioni sottostanti. Una consiste nel creare i file di configurazione all'interno del percorso del binario `vale`, quindi spostarli nella cartella home, mentre l'altra consiste nel creare i file di configurazione direttamente nella cartella home. Funzionano ugualmente bene. La seconda opzione ha meno passaggi manuali, ma richiede un lungo percorso per il binario `vale`. -!!! tip "Suggerimento" +!!! tip - Per nascondere la cartella "styles" (sotto), modificare leggermente il contenuto di `.vale.ini' durante la creazione, cambiando l'opzione "StylesPath" da "styles" a qualcosa di nascosto, come ".styles" o ".vale_styles." Esempio: - - ``` - StylesPath = .vale_styles - ``` + Per nascondere la cartella "styles" (sotto), modificare leggermente il contenuto di \`.vale.ini' durante la creazione, cambiando l'opzione "StylesPath" da "styles" a qualcosa di nascosto, come ".styles" o ".vale_styles." Esempio: + + ` StylesPath = .vale_styles ` La sola installazione di `vale` non è sufficiente. Sono necessari un paio di elementi aggiuntivi. Per prima cosa, sarà necessario un file `.vale.ini` che verrà collocato nella radice della cartella home. Successivamente, è necessario generare la cartella "styles" usando `vale sync`. -=== "Installazione dal percorso del file binario `vale`" +\=== "Installazione dal percorso del file binario `vale`" + ```` Se vi trovate nel percorso del binario `vale` qui: `~/.local/share/nvim/mason/packages/vale/` si può semplicemente creare il file `.vale.ini` qui, generare la cartella "styles" e poi spostare entrambi nella propria root `~/`. La creazione del file `.vale.ini' è semplice utilizzando l'utilità di configurazione del sito web `vale.sh` (https://vale.sh/generator). Scegliere "Red Hat Documentation Style Guide" per lo stile di base e "alex" per lo stile supplementare. L'uso di 'alex' è facoltativo, ma aiuta a individuare e correggere le parole di genere, polarizzanti, razziali, ecc. Se si scelgono queste opzioni, la schermata dovrebbe apparire come questa: If you choose those options, your screen should look like this:  @@ -86,25 +85,27 @@ La sola installazione di `vale` non è sufficiente. Sono necessari un paio di el È sufficiente copiare il contenuto in basso, creare il file `.vale.ini` con il proprio editor preferito e incollare quanto copiato. È necessario creare la cartella "styles". Per farlo, eseguire il binario `vale` con il comando `sync`. Anche in questo caso, se si sta eseguendo questa operazione dalla directory `~/.local/share/nvim/mason/packages/vale/`, basta fare: - + ```bash ./vale sync ``` - - + + Una volta terminata l'operazione, verrà visualizzato quanto segue:  Copiare la cartella `.vale.ini` e la cartella `styles` nella radice della cartella home: - + ```bash cp .vale.ini ~/ cp -rf styles ~/ ``` + ```` -Copiare il file `.vale.ini` e la cartella `styles` nella radice della cartella home: +Copiare il file.vale.ini e la cartella styles nella radice della cartella home:
+ ````
Se si preferisce non dover copiare i file e si vuole semplicemente crearli nella propria cartella personale, si può usare questo comando da `~/`:
Per prima cosa, creare il file `.vale.ini' nella propria cartella personale usando [il sito web `vale.sh`] (https://vale.sh/generator). Anche in questo caso, scegliere "Red Hat Documentation Style Guide" per lo stile di base e "alex" per lo stile supplementare. Quindi copiare il contenuto nel file `.vale.ini`.
@@ -112,21 +113,22 @@ Copiare il file `.vale.ini` e la cartella `styles` nella radice della cartella h

Successivamente, eseguire il comando `vale sync`. Poiché ci si trova nella propria home directory, è necessario l'intero percorso del binario:
-
+
```bash
~/.local/share/nvim/mason/packages/vale/vale sync
```
-
-
+
+

In questo caso, non è necessario copiare i file, poiché verranno creati nella directory principale.
+ ````
### :material-file-edit-outline: Modifiche al file `lint.lua`
È necessario un ultimo passo. È necessario modificare il file `lint.lua` che si trova in `~/.config/nvim/lua/configs/` e aggiungere il linter `vale`.
-Utilizzando l'esempio mostrato sopra per aggiungere *vale* al linter disponibile per i file markdown, sarà necessario aggiungere il nuovo linter alla stringa già presente:
+Utilizzando l'esempio mostrato sopra per aggiungere _vale_ al linter disponibile per i file markdown, sarà necessario aggiungere il nuovo linter alla stringa già presente:
```lua
markdown = { "markdownlint", "vale" },
@@ -145,7 +147,6 @@ vim.api.nvim_create_autocmd({ "BufWritePost" }, {
require("lint").try_lint()
end,
})
-
```
## Conclusioni e considerazioni finali
diff --git a/docs/guides/web/tor_onion_service.de.md b/docs/guides/web/tor_onion_service.de.md
index 9b9737d7c2..c1bd891e78 100644
--- a/docs/guides/web/tor_onion_service.de.md
+++ b/docs/guides/web/tor_onion_service.de.md
@@ -1,5 +1,5 @@
---
-title: Tor Onion Service
+title: Tor Onion Dienst
author: Neel Chauhan
contributors: Ganna Zhrynova
tested_with: 9.3
@@ -13,21 +13,21 @@ tags:
## Einleitung
-[Tor](https://www.torproject.org/) is an anonymity service and software that routes traffic by way of three volunteer-run servers called relays. The three-hop design is to ensure privacy by resisting surveillance attempts.
+[Tor](https://www.torproject.org/) ist ein Anonymisierungsdienst und eine Software, die den Datenverkehr über drei von Freiwilligen betriebene Server, sogenannte Relays, leitet. Das Three-Hop-Design soll die Privatsphäre gewährleisten, indem es Überwachungsversuchen widersteht.
-One feature of Tor is that you can run hidden, Tor-exclusive websites called [onion services](https://community.torproject.org/onion-services/). All traffic to an onion service is therefore private and encrypted.
+Eine Besonderheit von Tor ist, dass man versteckte, Tor-exklusive Websites betreiben kann, die als [Onion-Dienste](https://community.torproject.org/onion-services/) bezeichnet werden. Der gesamte Datenverkehr zu einem Onion-Dienst ist daher privat und verschlüsselt.
## Voraussetzungen
-The following are minimum requirements for using this procedure:
+Folgende Mindestvoraussetzungen gelten für die Anwendung dieses Verfahrens:
-- The ability to run commands as the root user or use `sudo` to elevate privileges
-- Familiarity with a command-line editor. The author is using `vi` or `vim` here, but substitute in your favorite editor
-- A web server running on localhost, or another TCP/IP port
+- Die Möglichkeit, Befehle als Root-Benutzer auszuführen oder mit `sudo` die Berechtigungen zu erhöhen
+- Erfahrung im Umgang mit einem Kommandozeilen-Editor. Der Autor verwendet hier `vi` oder `vim`, Sie können aber Ihren bevorzugten Editor verwenden
+- Ein Webserver, der auf localhost oder einem anderen TCP/IP-Port läuft
## Tor-Installation
-To install Tor, you need to first install the EPEL (Extra Packages for Enterprise Linux) and run updates:
+Zur Installation von Tor müssen Sie zuerst EPEL (Extra Packages for Enterprise Linux) installieren und Updates ausführen:
```bash
dnf -y install epel-release && dnf -y update
@@ -41,13 +41,13 @@ dnf -y install tor
## Tor-Konfiguration
-With the packages installed, you need to configure Tor. The author uses `vi` for this, but if you prefer `nano` or something else, go ahead and substitute that in:
+Nach der Installation der Pakete müssen Sie Tor konfigurieren. Der Autor verwendet dafür `vim`, aber wenn Sie `nano` oder etwas anderes bevorzugen, können Sie das gerne entsprechend anpassen:
```bash
vi /etc/tor/torrc
```
-The default `torrc` file is pretty descriptive, but can get long if you just want an onion service. A minimum onion service configuration is similar to this:
+Die standardmäßige `torrc`-Datei ist recht aussagekräftig, kann aber sehr lang werden, wenn man nur einen Onion-Dienst benötigt. Eine minimale Onion-Service-Konfiguration sieht in etwa so aus:
```bash
HiddenServiceDir /var/lib/tor/onion-site/
@@ -56,22 +56,22 @@ HiddenServicePort 80 127.0.0.1:80
### Genauere Betrachtung
-- The "HiddenServiceDir" is the location of your onion service's hostname and cryptographic keys. You are storing these keys at `/var/lib/tor/onion-site/`
-- The "HiddenServicePort" is the port forwarding from your local server to the onion service. You are forwarding 127.0.0.1:80 to port 80 on our Tor-facing service
+- Das Verzeichnis `HiddenServiceDir` enthält den Hostnamen und die kryptografischen Schlüssel Ihres Onion-Dienstes. Sie speichern diese Schlüssel unter `/var/lib/tor/onion-site/`
+- Der `HiddenServicePort` ist die Portweiterleitung von Ihrem lokalen Server zum Onion-Dienst. Sie leiten 127.0.0.1:80 an Port 80 unseres Tor-basierten Dienstes weiter
!!! warning
- If you plan to use a directory for your onion service signing keys outside of `/var/lib/tor/`, you will need to make sure the permissions are `0700` and the owner is `toranon:toranon`.
+ Wenn Sie ein Verzeichnis außerhalb von `/var/lib/tor/` für Ihre Onion-Service-Signaturschlüssel verwenden möchten, müssen Sie sicherstellen, dass die Berechtigungen `0700` lauten und der Eigentümer `toranon:toranon` ist.
## Web-Server — Konfiguration
-You will also need a web server on our machine to service clients to your onion service. Any web server (Caddy, Apache, or Nginx) is usable. The author prefers Caddy. Der Einfachheit halber installieren wir Caddy:
+Sie benötigen außerdem einen Webserver auf Ihrem Rechner, um Clients für Ihren Onion-Dienst zu bedienen. Jeder Webserver (Caddy, Apache oder Nginx) ist verwendbar. Der Autor bevorzugt Caddy. Der Einfachheit halber installieren wir Caddy:
```bash
dnf -y install caddy
```
-Next, you will insert the following to `/etc/caddy/Caddyfile`:
+Als Nächstes fügen Sie Folgendes in die Datei `/etc/caddy/Caddyfile` ein:
```bash
http:// {
@@ -82,24 +82,24 @@ http:// {
## Testen und Hochfahren
-Once you have set your Tor relay configuration, the next step is to turn up the Tor and Caddy daemons:
+Sobald Sie Ihre Tor-Relay-Konfiguration eingerichtet haben, besteht der nächste Schritt darin, die Tor- und Caddy-Daemons zu aktivieren:
```bash
systemctl enable --now tor caddy
```
-You can get your onion service's hostname with this command:
+Den Hostnamen Ihres Onion-Dienstes erhalten Sie mit diesem Befehl:
```bash
cat /var/lib/tor/onion-site/hostname
```
-Within a few minutes, your onion service will propagate via the Tor network and you can view your new onion service in the Tor browser:
+Innerhalb weniger Minuten wird Ihr Onion-Dienst über das Tor-Netzwerk verbreitet und Sie können Ihren neuen Onion-Dienst im Tor-Browser anzeigen:

## Zusammenfassung
-Onion services are an invaluable tool if you are hosting a website privately or need to bypass your ISP's Carrier Grade NAT using only open source software.
+Onion-Dienste sind ein unschätzbares Werkzeug, wenn Sie eine Website privat hosten oder die Carrier-Grade-NAT-Sperre Ihres Internetanbieters ausschließlich mit Open-Source-Software umgehen müssen.
-While onion services are not as fast as hosting a website directly (understandable due to Tor's privacy-first design), it is way more secure and private than the public internet.
+Auch wenn Onion-Dienste nicht so schnell sind wie das direkte Hosten einer Website (was aufgrund des datenschutzorientierten Designs von Tor verständlich ist), sind sie wesentlich sicherer und privater als das öffentliche Internet.
diff --git a/docs/guides/web/tor_onion_service.fr.md b/docs/guides/web/tor_onion_service.fr.md
index 4bc8a091a7..9eac5997ba 100644
--- a/docs/guides/web/tor_onion_service.fr.md
+++ b/docs/guides/web/tor_onion_service.fr.md
@@ -13,21 +13,21 @@ tags:
## Introduction
-[Tor](https://www.torproject.org/) is an anonymity service and software that routes traffic by way of three volunteer-run servers called relays. The three-hop design is to ensure privacy by resisting surveillance attempts.
+[Tor](https://www.torproject.org/) est un service et un logiciel d'anonymat qui achemine le trafic via trois serveurs gérés par des bénévoles appelés relais. La conception à trois sauts `three-hop` vise à assurer la confidentialité en résistant aux tentatives de surveillance.
-One feature of Tor is that you can run hidden, Tor-exclusive websites called [onion services](https://community.torproject.org/onion-services/). All traffic to an onion service is therefore private and encrypted.
+Une des caractéristiques de Tor est que vous pouvez exécuter des sites Web cachés et exclusifs à Tor appelés [services onion](https://community.torproject.org/onion-services/). Tout le trafic vers un service Onion est donc privé et crypté.
## Prérequis
Les conditions suivantes sont indispensables pour utiliser cette procédure :
-- The ability to run commands as the root user or use `sudo` to elevate privileges
-- Familiarity with a command-line editor. The author is using `vi` or `vim` here, but substitute in your favorite editor
-- A web server running on localhost, or another TCP/IP port
+- La capacité d'exécuter des commandes en tant qu'utilisateur root ou d'utiliser `sudo` pour élever les privilèges
+- Maîtrise d'un éditeur de ligne de commande. L'auteur utilise ici `vi` ou `vim`, mais vous pouvez le remplacez par votre éditeur préféré
+- Un serveur Web fonctionnant sur localhost, ou un autre port TCP/IP
## Installation de `Tor`
-To install Tor, you need to first install the EPEL (Extra Packages for Enterprise Linux) and run updates:
+Pour installer Tor, vous devez d'abord installer EPEL (Extra Packages for Enterprise Linux) et exécuter les mises à jour :
```bash
dnf -y install epel-release && dnf -y update
@@ -41,13 +41,13 @@ dnf -y install tor
## Configuration de `Tor`
-With the packages installed, you need to configure Tor. The author uses `vi` for this, but if you prefer `nano` or something else, go ahead and substitute that in:
+Une fois les paquets installés, vous devez configurer Tor. L'auteur utilise `vi` pour cela, mais si vous préférez `nano` ou un autre éditeur, n'hésitez pas à le remplacer :
```bash
vi /etc/tor/torrc
```
-The default `torrc` file is pretty descriptive, but can get long if you just want an onion service. A minimum onion service configuration is similar to this:
+Le fichier `torrc` par défaut est assez descriptif, mais il peut devenir long si vous voulez simplement un service onion. A minimum onion service configuration is similar to this:
```bash
HiddenServiceDir /var/lib/tor/onion-site/
@@ -65,13 +65,13 @@ HiddenServicePort 80 127.0.0.1:80
## Configuration de serveur web
-You will also need a web server on our machine to service clients to your onion service. Any web server (Caddy, Apache, or Nginx) is usable. L'auteur favorise `Caddy`. Par souci de simplicité, installons Caddy :
+Vous aurez également besoin d'un serveur Web sur notre machine pour assurer la liaison aux clients de votre service Onion. N'importe quel serveur Web (Caddy, Apache ou Nginx) est utilisable. L'auteur favorise `Caddy`. Par souci de simplicité, installons Caddy :
```bash
dnf -y install caddy
```
-Next, you will insert the following to `/etc/caddy/Caddyfile`:
+Ensuite, vous insérerez ce qui suit dans le fichier `/etc/caddy/Caddyfile` :
```bash
http:// {
@@ -82,13 +82,13 @@ http:// {
## Test et Lancement du Service
-Once you have set your Tor relay configuration, the next step is to turn up the Tor and Caddy daemons:
+Une fois votre configuration de relais Tor définie, l'étape suivante consiste à activer les daemons Tor et Caddy :
```bash
systemctl enable --now tor caddy
```
-You can get your onion service's hostname with this command:
+Vous pouvez obtenir le nom d'hôte de votre service Onion grâce à cette commande :
```bash
cat /var/lib/tor/onion-site/hostname