permission unix

chmod symbolique

cible operation droit
u user + ajout r read
g group - suppression w write
o other = inchangé x exécution ou listage
a all X listage uniquement si répertoire ou une catégorie user a déjà un x
s suid ou sgid exécutable (x) chmod 777 & chmod ugo+s : rws rws rws
S suid ou sgid sur un droit non exécutable (pas de x caché par S) chmod 7OO & chmod ugo+s : rws rwS rwS
t sticky bit chmod 777 & ugo+t ou a+t
T sticky bit sur un droit non exécutable (pas de x caché par T) chmod 770 & ugo+t ou a+t

exemple: chmod ug+rwx,o-rwx,a-t xyz/

chmod octal

--x -w- -wx r-- r-x rw- rwx --- symbolique
-ws r-s rw- rws
001 010 011 100 101 110 111 000 binaire
1 2 3 4 5 6 7 0 octal

suid est null généralement sur un répertoire sur linux, unix, pas freebsd
sgid sur un répertoire: à la création, un fichier ou sous-répertoire appartient au groupe du répertoire parent.
sgid s'hérite à la création, pas sur les répertoires ou fichiers existants.

exemple: chmod 0770 xyz

attribution des droits

type proprio (user) groupe (group) autres (other) extension
rwx r-x ---
7 5 0
type extension
* - : fichier standard + : acl surchargent les permissions de base
* d : répertoire (directory) . : SELinux est présent (ls -Z)
* l : lien symbolique (link) @ : attributs de fichier étendus présent
* c : périphérique de type caractère
* b : périphérique de type bloc
* p : pipe (FIFO)
* s : socket

recette de cuisine

lecture= 4
écriture= 2
exécution= 1
_
somme 7

droits

voir les droits:

symbolique: ls -l xyz
symbolique: stat -c %A xyz

octal: stat -c %a xyz

les 2: stat -c '%A %a' xyz

umask

nombre octal soustrait au nombre octal max des droits par défaut (666 pour un fichier, 777 pour un répertoire) lors de la création d'un fichier ou d'un répertoire

afficher umask: umask -p

exemple:


sgid, adapté pour les répertoires de groupes de travail, changer les répertoires:
find /path/to/directory -type d -exec chmod g+s '{}' \;