PERMESSI SUI FILE IN LINUX

Introduzione

Definiti con 10 caratteri
ID
U(ser)
G(roup)
O(thers)

d = Directory
- = File
l = Link
b = Block device
c = Character device

r
w
x
r
w
x
r
w
x
b/c si trovano in /dev r - read / w - write / x - execute

Cambiare i permessi

# chmod <codice_permesso> <nome_file>

Codifica dei permessi

Impostare singoli permessi

<codice_permesso> = <gruppo><op><permesso>

<gruppo> = u/g/o
<op> = +/-
<permesso> = r/w/x

ESEMPI:

# chmod o-x nome_file Toglie agli "altri" i permessi di esecuzione del file "nome_file"
# chmod g+w nome_file Permetti agli utenti del gruppo di scrivere sul file "nome_file"


Impostare permessi multipli

Sono definiti da un codice numerico a 3 cifre che si compone portando in base decimale i permessi ottenuti (in base binaria) assegnando 1 al permesso e 0 alla negazione.

ESEMPIO:
Impostiamo i seguenti permessi al file "nome_file":

U(ser)
G(roup)
O(thers)
r
w
-
r
-
-
r
-
x
1
1
0
1
0
0
1
0
1
6
4
5

#chmod 0645 nome_file

Permessi di default

Alla creazione di un nuovo file il sistema gli attribuisce dei permessi standard, calcolati sottraendo al permesso 0666 la umask, che può essere modificato dall'utente.

ESEMPIO:

Permessi di sistema
0666
-
-
Umask
0022
=
=
Permessi di default
0644

Permessi speciali

Si definiscono con la 1° cifra del chmod (finora abbiamo usato 0, ovvero nessun permesso speciale, che può essere omesso)

  1. SETUID (Set User ID):
  2. SETGID (Set Group ID):
  3. Sticky Bit (Bit appiccicoso):