Les permissions UNIX constituent un système simple de définition des droits d'accès aux ressources, représentées par des fichiers disponibles sur un système informatique. Elles restent le moyen le plus utilisé pour définir les droits des utilisateurs sur les systèmes de type UNIX.
Elles gèrent 3 types d'utilisateurs:
propriétaire (u pour user) : c'est souvent le créateur du fichier, ou celui a qui il a été attribué avec la commande chown
groupe (g) : par défaut c'est le groupe du créateur, mais un fichier peut être attribué à un autre groupe, ou l'utilisateur peut être dans un groupe contenant plus d'un utilisateur
autres (o pour others) : il s'agit des utilisateurs qui ne sont pas le user et ne font pas partie du group
Elles gèrent 3 types d'action:
la lecture (r pour read) : on peut lire le fichier. Lorsque ce droit est alloué à un répertoire, il autorise l'affichage du contenu du répertoire (la liste des fichiers présents à la racine de ce répertoire).
l'écriture (w pour write) : on peut modifier le fichier et le vider de son contenu. Lorsque ce droit est alloué à un répertoire, il autorise la création, la suppression et le changement de nom des fichiers qu'il contient, quels que soient les droits d'accès des fichiers de ce répertoire (même s'ils ne possèdent pas eux-mêmes le droit en écriture).
l'exécution (x pour eXecute) : on peut exécuter le fichier s'il est prévu pour, c'est-à-dire si c'est un fichier exécutable. Lorsque ce droit est attribué à un répertoire, il autorise l'accès (ou ouverture) au répertoire.
Chaque action a une valeur octale qui lui est propre (r = 4, w = 2, x = 1) et l'attribution des permissions se fait en donnant la somme des actions autorisées à l'utilisateur visé.
Très souvent, vous verrez les droits mis sur 4 digits. Le premier (très souvent à 0) correspond au SUID et il est fortement déconseillé de le changer.