proprietari, permessi e comandi chmod e chown
This commit is contained in:
parent
592189be0f
commit
fcd161d0e5
@ -1,5 +1,85 @@
|
|||||||
|
# Introduzione ai permessi
|
||||||
|
|
||||||
Ogni file su disco é di proprietá di un utente e di un gruppo di utenti e dispone di tre tipi di autorizzazioni:
|
Ogni file su disco é di proprietá di un utente e di un gruppo di utenti e dispone di tre tipi di autorizzazioni:
|
||||||
|
|
||||||
- per il proprietario
|
- per il proprietario
|
||||||
- per il gruppo che possiede il file
|
- per il gruppo che possiede il file
|
||||||
- per gli altri
|
- per gli altri
|
||||||
|
|
||||||
|
```bash
|
||||||
|
> ls -l
|
||||||
|
total 0
|
||||||
|
drwxrwxr-x 1 dado dado 0 Jan 5 15:49 Desktop
|
||||||
|
drwxr-xr-x 1 dado dado 12 Jan 3 22:18 Videos
|
||||||
|
```
|
||||||
|
|
||||||
|
- Il primo carattere, `d`, indica il tipo di file
|
||||||
|
- I successivi tre, `rwx`, i permessi per il proprietario del file (*user*)
|
||||||
|
- I successivi tre, `rwx`, i permessi per il gruppo che possiede il file (*group*)
|
||||||
|
- Gli ultimi tre, `r-x`, indicano i permessi per gli altri (*others*)
|
||||||
|
- La seconda colonna, `1`, indica il numero di *hard link* che puntano a quel file
|
||||||
|
- La 5a colonna mostra la dimensione del file
|
||||||
|
- La 6a la data e l'ora dell'ultima modifica del file
|
||||||
|
|
||||||
|
## Tipi di file
|
||||||
|
|
||||||
|
- `-`: normal file
|
||||||
|
- `d`: directory
|
||||||
|
- `l`: symbolic link
|
||||||
|
- `b`: block device
|
||||||
|
- `c`: le porte seriali sono esempi comuni di dispositivi a caratteri
|
||||||
|
- `s`: i socket servono come tramite per il passaggio di informazioni tra due programmi
|
||||||
|
|
||||||
|
## Permessi sui file
|
||||||
|
|
||||||
|
- `r`: read, ha un valore ottale di 4. Indica il permesso di aprire un file e leggerne il contenuto
|
||||||
|
- `w`: write, ha un valore ottale di 2. Indica il permesso di modificare un file
|
||||||
|
- `x`: execute, con un valore ottale di 1. Permesso di esecuzione del file
|
||||||
|
|
||||||
|
## Permessi sulle directory
|
||||||
|
|
||||||
|
- `r`: read, ha un valore ottale di 4. Indica il permesso di leggere il contenuto della directory, ma non implica il permesso di leggere i file stessi
|
||||||
|
- `w`: write, ha un valore ottale di 2. Indica il permesso di creare o eliminare file in una directory o modificarne i nomi, permessi e proprietari. Se un utente ha il permesso di scrittura su una directory, potrá modificare i permessi di *qualsiasi* file (contenuto) nella directory, anche se appartiene ad un altro utente
|
||||||
|
- `x`: execute, con un valore ottale di 1. Indica il permesso di entrare in una directory, ma non di elencarne il contenuto (necessaria l'autorizzazione `r`).
|
||||||
|
|
||||||
|
### Modificare i permessi sui file
|
||||||
|
|
||||||
|
Si utilizza il comando `chmod`. Solo il proprietario di un file o l'utente root possono modificare i permessi di un file. É possibile cambiare i permessi con due modalitá:
|
||||||
|
|
||||||
|
- simbolica
|
||||||
|
- ottale
|
||||||
|
|
||||||
|
Quando viene eseguito su una directory, vengono modificati solo i permessi di quella specifica directory. Per la modalitá ricorsiva, aggiungere `-R`.
|
||||||
|
|
||||||
|
#### Modalitá simbolica
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chmod u[,g,o]+x file
|
||||||
|
chmod u-r file
|
||||||
|
chmod u=rwx file
|
||||||
|
chmod o=rw- file
|
||||||
|
chmod u+x,g,o+r file
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
dove:
|
||||||
|
|
||||||
|
- `u`: user
|
||||||
|
- `g`: group
|
||||||
|
- `o`: others
|
||||||
|
- `+`: concedere un permesso
|
||||||
|
- `-`: revocare un permesso
|
||||||
|
- `=`: impostare un set di permessi specifico
|
||||||
|
- `r` o `w` o `x`: autorizzazione
|
||||||
|
|
||||||
|
#### Modalitá ottale
|
||||||
|
|
||||||
|
I permessi sono specificati come valore a tre cifre su notazione ottale. Sono specificati nel seguente ordine: r(4)w(2)x(1). Se non ci sono permessi, si usa il valore 0. Quindi il permesso rwx sarebbe 4+2+1=7. La prima lettera indica l'utente, la seconda il gruppo e la terza tutti gli altri.
|
||||||
|
|
||||||
|
### Modificare la proprietá di un file
|
||||||
|
|
||||||
|
Si usa il comando `chown`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
chown USER:GROUP file
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user