Sur Unix, il y a longtemps, j'ai appris chmod
: la façon traditionnelle de définir des autorisations, sur Unix (et de permettre aux programmes d'obtenir des privilèges, en utilisant setuid, setgid).
J'ai récemment découvert quelques commandes plus récentes, sur GNU / Linux:
setfacl
étend lesugo:rwx
bits traditionnels et let
bit dechmod
.setcap
donne un contrôle plus fin du grain que desug:s
bits dechmod
.chattr
Permet quelques autres contrôles (un peu mélangés) du fichier.
Y en a-t-il d'autres?
linux
permissions
filesystems
gnu
ctrl-alt-delor
la source
la source
chmod
Réponses:
chmod
: changer les bits du mode fichierUtilisation (mode octal):
Utilisation (mode symbolique):
references
est une combinaison des lettresugoa
, qui spécifient quel utilisateur l'accès aufiles
sera modifié:u
l'utilisateur qui le possèdeg
autres utilisateurs dans lefile
groupe deo
autres utilisateurs n'appartenant pas au groupe du fichiera
tous les utilisateursS'il est omis, il s'applique par défaut à tous les utilisateurs, mais seules les autorisations autorisées par le
umask
sont modifiées.operator
est l'un des personnages+-=
:+
ajouter les bits de mode de fichier spécifiés aux bits de mode de fichier existants de chaquefile
-
supprime les bits de mode de fichier spécifiés aux bits de mode de fichier existants de chaquefile
=
ajoute les bits spécifiés et supprime les bits non spécifiés, à l'exception des bitssetuid
etsetgid
définis pour les répertoires, sauf indication contraire explicite.mode
se compose d'une combinaison de lettresrwxXst
, qui spécifient quel bit d'autorisation doit être modifié:r
lisw
é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 le spécifiéreferences
)t
indicateur de suppression restreinte ou bit collantAlternativement, le
mode
peut consister en l'une des lettresugo
, auquel cas le mode correspond aux autorisations actuellement accordées au propriétaire (u
), au membre dufile
groupe (g
) ou aux autorisations des utilisateurs dans aucune des catégories précédentes (o
).Les différents morceaux
chmod
expliqués:setfacl
)rwx
- lire (r), écrire (w) et exécuter / croiser (x) les autorisations.#!
) et d'autres fichiers exécutables.s
ett
- sticky bit (t), et setgid (s) sur les répertoiress
- setuid, setgid, sur les fichiers exécutables.setcap
pour une façon plus moderne de le faire.chown
chgrp
:chattr
: modifier les attributs de fichierUsage:
operator
est l'un des caractères+-=
: *+
ajoute les attributs sélectionnés pour être à l'existantattributes
desfiles
*-
supprime les sélectionnésattributes
*=
écrase l'ensemble actuel des attributs des fichiers avec les spécifiésattributes
.attribute
est une combinaison des lettresacdeijstuADST
, qui correspondent aux attributs:a
ajouter seulementc
compriméd
pas de vidagee
format d'étenduei
immuablej
journalisation des donnéess
suppression sécuriséet
pas de fusion de queueu
undeletableA
pas deatime
mises à jourD
mises à jour d'annuaire synchronesS
mises à jour synchronesT
haut de la hiérarchie des répertoiressetfattr
: modifier les attributs de fichier étendusUtilisation (attribut défini):
Utilisation (supprimer):
name
est le nom de l'attribut étendu à définir ou à supprimervalue
est la nouvelle valeur de l'attribut étendusetfacl
: modifier les listes de contrôle d'accès aux fichiersUsage:
option
doit comprendre 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
s'il est omisg
,group
autorisation d'un groupe nommé identifié parparam
, par défaut au groupe propriétaireuid
si omism
,mask
masque des droits effectifso
,other
autorisations d'autruiperms
est une combinaison des lettresrwxX
, qui correspondent aux autorisations:r
lisw
écrirex
exécuterX
exécuter uniquement si le fichier est un répertoire ou dispose déjà d'une autorisation d'exécution pour un utilisateurIl
perms
peut également s'agir d'un chiffre octal (0
-7
) indiquant l'ensemble des autorisations.setcap
: modifier les capacités d'un fichierUsage:
A se
capability-clause
compose d'une liste de noms de capacités séparés par des virgules, suivie d'une liste de paires d'indicateurs-opérateurs.Les opérateurs disponibles sont
=
,+
et-
. Les indicateurs disponibles sonte
,i
etp
qui correspondent aux ensembles de capacités effectifs , héritables et autorisés .L'
=
opérateur augmentera les ensembles de capacités spécifiés et réinitialisera les autres. Si aucun indicateur n'est donné conjointement avec l'=
opérateur, tous les ensembles de capacités seront réinitialisés. Les opérateurs+
et-
augmenteront ou diminueront respectivement le ou les ensembles de capacités spécifiés.chcon
: changer le contexte de sécurité du fichier SELinuxUsage:
utilisateur est l'utilisateur SELinux, tel que
user_u
,system_u
ouroot
.le 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 SMACKUsage:
value
est le libellé SMACK à définir pour l'SMACK64
attribut de fichier étendusetrichacl : changer la liste de contrôle d'accès riche.
Les richacl sont une fonctionnalité qui ajoutera des listes de contrôle d'accès plus avancées.
Actuellement un travail en cours, je ne peux donc 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és que les ACL «rwx» et POSIX traditionnels? et la page de manuel
la source
d'un haut niveau:
-rwxrwxrwx
gérés parchmod
, ainsi que les identificateurs de propriétaire et de groupe liés à chaque fichier ou dossier du système de fichiers géré parchown
etchgrp
; tout le monde connaît fondamentalement cette pièce.autres points clés:
user_xattr
et je pouvais choisir de ne pas avoir xattr disponible sur le système de fichiers racine au moment de l'installation; je pense maintenant avec RHEL / CentOS 7 que xattr est là par défaut et vous ne pouvez pas l'avoir.ls
si vous voyez-rwxrwxrwx+
cela+
indique qu'un attribut de fichier étendu est présent sur cet objet .tar
sur des trucs avec xattr, s'il reste sur ce système pas de problème mais s'il va ailleurs peut être problématique si les xattr sont importants (ie samba et copie entre win10 ntfs et linux ext3 / 4, btrfs, xfs; ou retour) entre les périphériques de stockage connectés au réseau)xattr
s, alorsxattr
s ne peut théoriquement rien signifier et être abandonné ou dépouillé parce qu'à ce moment-là, ce ne sont que des bagages supplémentaires.Le partage Samba de base ne fonctionne pas dans RHEL / CentOS 7 ... car selinux par défaut est défini sur la mise en application; selinux a tout refusé jusqu'à ce que vous l'autorisiez, désactivez donc selinux (mauvais) ou définissez-le sur permissif. Si vous laissez selinux comme force obligatoire, vous devez étiqueter le dossier que vous souhaitez partager avec un attribut étendu, afin que selinux reconnaisse et autorise le partage. Donc, si vous laissez selinux appliquer alors avec toutes les commandes selinux (qui définiront alors les
xattr
s nécessaires ):vous utilisez en outre selinux, sur le système linux avec ce partage samba, pour appliquer des restrictions sur les fichiers / dossiers sous ce partage samba (en utilisant n'importe quel attribut étendu). Étant donné que ces fichiers / dossiers sont partagés, un utilisateur en copie légitimement sur son ordinateur win10 puis les copie en arrière, perdant l'attribut étendu. Maintenant, après cette copie de va-et-vient, sur ce système linux, selinux restreindra l'accès auxdits fichiers parce que le xattr nécessaire n'est plus présent, et les utilisateurs / administrateurs frappent la tête en se demandant pourquoi les choses ont bien fonctionné maintenant, cela ne fonctionne pas ... set selinux pour permettre et reconnaître le problème des
xattr
s perdus apparaissant dans les journaux d'audit, mais cela n'indiquera pas directement qu'il s'agit d'un résultat de la copie aller-retour de la perte du xattr. Tenez également compte de la sauvegarde et de la restauration des données et des travaux potentiels à retenirxattr
s en plus de uid / gid si vous souhaitez appliquer la sécurité basée sur le bonxattr
s.la source