chmod
:changer les bits du mode fichier
Utilisation (mode octal) :
chmod <octal-mode> files...
Utilisation (mode symbolique) :
chmod <references><operator><modes> files..
references
est une combinaison des lettres ugoa
, qui précisent quel utilisateur a accès au files
sera modifié :
u
l'utilisateur qui en est propriétaireg
autres utilisateurs dans lefile
du groupeo
autres utilisateurs ne faisant pas partie du groupe du fichier-
a
tous les utilisateursS'il est omis, il s'agit par défaut de tous les utilisateurs, mais uniquement des autorisations autorisées par le
umask
sont modifiés.operator
est l'un des caractères+-=
:+
ajouter les bits de mode fichier spécifiés aux bits de mode fichier existants de chaquefile
-
supprime les bits de mode fichier spécifiés des bits de mode fichier existants de chaquefile
=
ajoute les bits spécifiés et supprime les bits non spécifiés, sauf lesetuid
etsetgid
bits définis pour les répertoires, sauf indication contraire.
mode
se compose d'une combinaison des lettresrwxXst
, qui spécifient quel bit de permission doit être modifié :r
lirew
écrirex
exécuter (ou rechercher des répertoires)X
exécuter/rechercher uniquement si le fichier est un répertoire ou si le bit d'exécution est déjà défini pour un utilisateurs
setuid ou setgid (selon lereferences
spécifié )t
indicateur de suppression restreinte ou sticky bit
Alternativement, le
mode
peut être composé d'une des lettresugo
, auquel cas le mode correspond aux permissions actuellement accordées au propriétaire (u
), membre dufile
du groupe (g
) ou les autorisations des utilisateurs dans aucune des catégories précédentes (o
).
Les différents morceaux de chmod
expliqué :
- Contrôle d'accès (voir aussi
setfacl
)rwx
— autorisations de lecture (r), d'écriture (w) et d'exécution/croisement (x).- Lire (r) détermine si un fichier peut être lu ou si un répertoire peut être répertorié.
- Write (w) détermine si un fichier peut être écrit ou si un répertoire peut être modifié (fichiers ajoutés, supprimés, renommés).
- Exécuter (x) affecte si un fichier peut être exécuté, à utiliser pour les scripts (voir
#!
), et d'autres fichiers exécutables. - Croix (x) détermine si un répertoire peut être traversé.
s
ett
— sticky bit (t), et setgid (s) sur les répertoires- Le sticky bit n'affecte que les répertoires. Empêchera quiconque, sauf le propriétaire du fichier et root, de supprimer des fichiers dans le répertoire.
- le bit setgid sur les répertoires fera que le groupe sera défini sur le même groupe pour les nouveaux fichiers et répertoires, et que le bit setgid sera défini pour les nouveaux répertoires (voir aussi les valeurs par défaut dans setfacl).
s
— setuid, setgid, sur les fichiers exécutables.- Cela peut nuire à la sécurité si vous ne savez pas ce que vous faites.
- Lorsqu'un exécutable est exécuté, si l'un de ces bits est défini, alors l'utilisateur/groupe effectif de l'exécutable deviendra celui du fichier. Ainsi, le programme s'exécute sous cet utilisateur. voir
setcap
pour une manière plus moderne de le faire.
chown
chgrp
:
chattr
:modifier les attributs du fichier
Utilisation :
chattr <operator><attribute> files...
operator
est l'un des caractères +-=
:* +
ajoute les attributs sélectionnés pour être au attributes
existant du files
* -
supprime le attributes
sélectionné * =
écrase l'ensemble actuel d'attributs des fichiers avec le attributes
spécifié .
attribute
est une combinaison des lettres acdeijstuADST
, auxquels correspondent les attributs :
a
ajouter uniquementc
compresséd
pas de vidagee
format d'étenduei
immuablej
journalisation des donnéess
suppression sécuriséet
pas de fusion de queueu
ineffaçableA
nonatime
mises à jourD
mises à jour synchrones des répertoiresS
mises à jour synchronesT
haut de la hiérarchie des répertoires
setfattr
:modifier les attributs de fichier étendus
Utilisation (attribut défini) :
setfattr -n <name> -v <value> files...
Utilisation (supprimer) :
setfattr -x <name> files...
name
est le nom de l'attribut étendu à définir ou supprimer
value
est la nouvelle valeur de l'attribut étendu
setfacl
:modifier les listes de contrôle d'accès aux fichiers
Utilisation :
setfacl <option> [default:][<target>:][<param>][:<perms>] files...
option
doit inclure l'un des éléments suivants :
--set
définir l'ACL d'un fichier ou d'un répertoire, en remplaçant l'ACL précédente-m
|--modify
modifier l'ACL d'un fichier ou d'un répertoire-
-x
|--remove
supprimer les entrées ACL d'un fichier ou d'un répertoiretarget
est l'une des lettresugmo
(ou la forme plus longue illustrée ci-dessous) : -
u
,users
autorisation d'un utilisateur nommé identifié parparam
, par défaut le propriétaire du fichieruid
si omis g
,group
autorisation d'un groupe nommé identifié parparam
, par défaut le groupe propriétaireuid
si omism
,mask
masque de droits effectifs-
o
,other
autorisations des autresperms
est une combinaison des lettresrwxX
, qui correspondent aux autorisations : -
r
lire w
écrirex
exécuter-
X
exécuter uniquement si le fichier est un répertoire ou a déjà l'autorisation d'exécution pour certains utilisateursSinon,
perms
peut être un chiffre octal (0
-7
) indiquant l'ensemble des autorisations.
setcap
:modifier les capacités du fichier
Utilisation :
setcap <capability-clause> file
Un capability-clause
se compose d'une liste de noms de capacité séparés par des virgules suivie d'une liste de paires opérateur-drapeau.
Les opérateurs disponibles sont =
, +
et -
. Les drapeaux disponibles sont e
, i
et p
qui correspondent à l'Effective , héritable et Autorisé ensembles de capacités.
Le =
l'opérateur augmentera les ensembles de capacités spécifiés et réinitialisera les autres. Si aucun drapeau n'est donné en conjonction avec le =
opérateur, tous les ensembles de capacités seront réinitialisés. Le +
et -
les opérateurs augmenteront ou diminueront respectivement le ou les ensembles de capacités spécifiés.
chcon
:modifier le contexte de sécurité du fichier SELinux
Utilisation :
chcon [-u <user>] [-r <role>] [-t <type>] files...
utilisateur est l'utilisateur SELinux, tel que user_u
, system_u
ou root
.
rôle est le rôle SELinux (toujours object_r
pour les fichiers)
type est le type de sujet SELinux
chsmack
:modifier les attributs étendus SMACK
Utilisation :
chsmack -a <value> file
value
est le libellé SMACK à définir pour le SMACK64
attribut de fichier étendu
setrichacl :modifier la liste de contrôle d'accès enrichie.
richacls est une fonctionnalité qui ajoutera des ACL plus avancées.
Actuellement un travail en cours, donc je ne peux pas vous en dire beaucoup à leur sujet. Je ne les ai pas utilisés.
Voir aussi cette question Existe-t-il des ACL de système de fichiers plus avancées au-delà des traditionnelles ACL 'rwx' et POSIX ? et la page de manuel