web-dev-qa-db-fra.com

Quel est le sens de "chmod 666"?

J'utilise Linux. Quelle est la signification de chmod 666?

44
Seno

La commande chmod modifie les attributs d'un fichier/dossier:

  • chmod 666 file/folder signifie que tous les utilisateurs peuvent lire et écrire mais ne peuvent pas exécuter le fichier/dossier;
  • chmod 777 file/folder permet toutes les actions pour tous les utilisateurs;
  • chmod 744 file/folder permet uniquement à l'utilisateur (propriétaire) d'effectuer toutes les actions; groupe et les autres utilisateurs ne sont autorisés qu'à lire.

    permission to:  user(u)   group(g)   other(o)     
                    /¯¯¯\      /¯¯¯\      /¯¯¯\
    octal:            6          6          6
    binary:         1 1 0      1 1 0      1 1 0
    what to permit: r w x      r w x      r w x
    
    binary         - 1: enabled, 0: disabled
    
    what to permit - r: read, w: write, x: execute
    
    permission to  - user: the owner that create the file/folder
                     group: the users from group that owner is member
                     other: all other users
    

Alternativement, vous pouvez exécuter la commande avec une syntaxe plus intuitive, sans avoir besoin de penser en binaire ou en octal (mais la connaissance de la syntaxe numérique est si importante): chmod u=rw, g=rw, o=rw file/folder

N'oubliez pas que les modifications d'autorisation avec la commande chmod nécessitent au moins 3 arguments. Par conséquent, chmod 666 ne fait rien sans fichier/dossier explicite pour modifier les autorisations.

Assurez-vous également de critiquer si cela ne produit pas de problèmes non sécurisés ou tout simplement s'il s'agit d'un changement d'autorisation inutile, car chmod 666 autorisera l'écriture de fichier/dossier sur tous et l'exécution à aucun.

110
kokbira

En termes simples: cela rend un fichier lisible et lisible par le propriétaire du fichier, le groupe du propriétaire du fichier et tous les autres utilisateurs de la machine (tous). Appliqué à un répertoire, il permet à tout le monde de lire (obtenir les listes du contenu des fichiers) d'un répertoire et d'écrire (créer, modifier des fichiers dans le répertoire), mais pas d'exécuter des fichiers à partir du répertoire.

Pour plus d'informations sur le fonctionnement de chmod, consultez ce didacticiel pratique .

7
Ian C.

Comme mentionné dans d'autres réponses, chmod signifie que le mode change. Il affecte les autorisations de lecture, d'écriture et exécutable du propriétaire, du groupe et des autres catégories d'utilisateurs. Les numéros qui suivent la commande (dans ce cas 666) indiquent comment ces autorisations sont modifiées pour le fichier sur lequel la commande est exécutée (pour 666, cela signifie que le propriétaire, le groupe et les autres ont des autorisations de lecture et d'écriture, mais aucune autorisation exécutable). .

En modifiant les nombres en différentes valeurs, vous modifiez efficacement les autorisations du fichier. Le lien que j'ai référencé ci-dessus contient un petit outil permettant de déterminer les valeurs à entrer pour obtenir le schéma de permissions recherché. Il passe également en revue les options de commutateur disponibles pour la commande et quelques exemples pour vous aider à mieux comprendre son fonctionnement.

7
MaQleod

La commande chmod (abrégée en mode de modification) est une commande Unix qui permet à un opérateur d'indiquer au système la quantité (ou très peu) d'accès qu'il doit autoriser pour un fichier. La commande chmod 666 signifie que tous les utilisateurs disposeront d'autorisations de lecture et d'écriture.

5
Seno

Si vos questions concernent davantage la partie 666 que la partie chmod, je vous renvoie à Le projet de documentation Linux où est une explication décente du fonctionnement des autorisations de fichiers sous Linux.

2
Kirk