GNU/Linux >> Tutoriels Linux >  >> Linux

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

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étaire
  • g autres utilisateurs dans le file du 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, sauf le 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 le references spécifié )
    • t indicateur de suppression restreinte ou sticky bit

    Alternativement, le mode peut être composé d'une des lettres ugo , auquel cas le mode correspond aux permissions actuellement accordées au propriétaire (u ), membre du file 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 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 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 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 non atime mises à jour
  • D mises à jour synchrones des répertoires
  • S mises à jour synchrones
  • T 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é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

    Sinon, 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


Linux
  1. Copier des fichiers dans le terminal Linux

  2. Déplacer des fichiers dans le terminal Linux

  3. Utilisez le terminal Linux pour voir quels fichiers se trouvent sur votre ordinateur

  4. 5 façons d'utiliser la commande move sous Linux

  5. Linux - Comment définir les autorisations de fichier par défaut pour tous les dossiers/fichiers d'un répertoire ?

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

Que sont les inodes sous Linux ?

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

Quel est le but du fichier .bashrc sous Linux

Quelle est la limite maximale de fichiers ouverts sous Linux ?

Quelles sont les différences entre lsof et netstat sous Linux ?