GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Quelles sont les différentes façons de définir les autorisations de fichiers, etc. sur Gnu/linux ?

Sur Unix, il y a longtemps, j'ai découvert chmod :la manière traditionnelle de définir les autorisations, sous Unix (et de permettre aux programmes d'obtenir des privilèges, en utilisant setuid, setgid).

J'ai récemment découvert de nouvelles commandes, sous GNU/Linux :

  • setfacl étend le traditionnel ugo:rwx bits et le t un peu de chmod .
  • setcap donne plus de contrôle fin-grain que ug:s morceaux de chmod .
  • chattr Permet d'autres contrôles (un peu mélangés) du fichier.

Y en a-t-il d'autres ?

Réponse acceptée :

chmod  :modifier 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 spécifient quel utilisateur a accès aux files sera modifié :

  • u l'utilisateur qui en est propriétaire
  • g autres utilisateurs dans le file le groupe
  • o autres utilisateurs ne faisant pas partie du groupe du fichier
  • a tous les utilisateurs

    S'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 chaque file
    • - supprime les bits de mode fichier spécifiés des bits de mode fichier existants de chaque file
    • = ajoute les bits spécifiés et supprime les bits non spécifiés, à l'exception du setuid et setgid bits définis pour les répertoires, sauf indication contraire.

    mode se compose d'une combinaison des lettres rwxXst , qui spécifient quel bit de permission doit être modifié :

    • r lire
    • w écrire
    • x 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 utilisateur
    • s setuid ou setgid (selon les references spécifiées )
    • t indicateur de suppression restreinte ou sticky bit

    Alternativement, le mode peut consister en une des lettres ugo , auquel cas le mode correspond aux permissions actuellement accordées au propriétaire (u ), membre du file s groupe (g ) ou les autorisations des utilisateurs dans aucune des catégories précédentes (o ).

Les différents éléments 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 et t — 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 aux attributes existants des files * - supprime les attributes sélectionnés * = remplace l'ensemble actuel d'attributs des fichiers avec les attributes spécifiés .

attribute est une combinaison des lettres acdeijstuADST , auxquels correspondent les attributs :

  • a ajouter uniquement
  • c compressé
  • d pas de vidage
  • e format d'étendue
  • i immuable
  • j journalisation des données
  • s suppression sécurisée
  • t pas de fusion de queue
  • u ineffaçable
  • A pas de atime mises à jour
  • D mises à jour synchrones des répertoires
  • S mises à jour synchrones
  • T haut de la hiérarchie des répertoires
Connexe :Ssh – Pourquoi la tentative de transfert X11 échoue-t-elle avec « connect /tmp/.X11-unix/X0 :No such file or directory » ?

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épertoire

    target est l'une des lettres ugmo (ou la forme plus longue illustrée ci-dessous) :

  • u , users autorisation d'un utilisateur nommé identifié par param , par défaut le propriétaire du fichier uid si omis

  • g , group autorisation d'un groupe nommé identifié par param , par défaut le groupe propriétaire uid si omis
  • m , mask masque de droits effectifs
  • o , other autorisations des autres

    perms est une combinaison des lettres rwxX , qui correspondent aux autorisations :

  • r lire

  • w écrire
  • x exécuter
  • X exécuter uniquement si le fichier est un répertoire ou a déjà l'autorisation d'exécution pour certains utilisateurs

    Alternativement, perms peut être un chiffre octal (7 ) indiquant l'ensemble des autorisations.

setcap  :modifier les capacités du fichier

Utilisation :

    setcap <capability-clause> file 

Une 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.


Linux
  1. Une introduction au fichier Linux /etc/fstab

  2. Linux - Que signifie un point après les bits d'autorisation de fichier ?

  3. Quelles sont les principales différences entre Bsd et Gnu/linux Userland ?

  4. Linux - Comment inspecter les informations de structure de répertoire d'un fichier Unix/linux ?

  5. Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

Les 6 meilleures façons d'afficher des fichiers sous Linux

Qu'est-ce que Fstab sous Linux | Une introduction au fichier Linux /etc/fstab

Que sont les inodes sous Linux ?

Qu'est-ce que le fichier /etc/passwd sous Linux ?

Comprendre le fichier /etc/fstab sous Linux

Quels sont les inconvénients des files d'attente de messages de Linux ?