gruppi e permessi speciali

This commit is contained in:
dado 2025-02-06 21:05:30 +01:00
parent fcd161d0e5
commit a4566124ca

View File

@ -82,4 +82,42 @@ Si usa il comando `chown`:
```bash
chown USER:GROUP file
```
```
## Gruppi
Per vedere quali gruppi esistono sul sistema: `getent group`. `groups user` per sapere a quali gruppi appartiene un utente. Per sapere quali utenti fanno parte di un gruppo si utilizza il comando: `groupmems -g group -l`.
## Permessi di default
Ogni file o directory che si crea sul filesystem avrá sempre le stesse autorizzazioni. Provengono dalla *user mask* o `umask`, che imposta i permessi predefiniti per ogni file (o directory) creato. Per controllare i valori correnti:
```bash
umask -S
u=rwx,g=rwx,o=rx
```
## Permessi speciali
Ogni file puo' avere anche *tre permessi speciali*.
### Sticky Bit
Chiamato anche *indicatore di cancellazione ristretta*, ha il valore ottale di `1` e in modalitá simbolica viene indicato con una `t` all'interno dei permessi degli *others* (sostituisce la *x* sui permessi degli *altri*). Si applica *solo alle directory* e non ha effetto sui file normali. Impedisce agli utenti di rimuovere o rinominare un file all'interno di quella directory, a meno che non siano proprietari di quel file o directory.
In modalitá ottale i permessi vengono specificati con una notazione a 4 cifre, con la prima che rappresenta il permesso speciale: `chmod 1755 directory/`
### Set GID
Noto anche come *SGID*, ha il valore ottale di `2` in modalitá simbolica viene indicato con una `s` all'interno dei permessi di *group* (sostituisce la *x* sui permessi del gruppo). Si applica sia ai file eseguibili che alle directory. Sui file, eseguirá il processo coi privilegi del gruppo che possiede il file. Sulle directory, fa in modo che ogni file o subdirectory erediti il gruppo della directory principale.
```bash
chmod 2755 file.sh
chmod g+s file.sh
```
### Set UID
*SUID* o *Set User ID*, ha il valore ottale di `4` in modalitá simbolica viene indicato con una `s` all'interno dei permessi *utente* (sostituisce la *x* sui permessi dell'utente). Si *applica solo ai file eseguibili* e non ha effetto sulle directory. Sui file, eseguirá il processo coi privilegi dell'utente che possiede il file.
É possibile combinare le autorizzazioni speciali in un unico parametro: `chmod 6755 file.sh`.