52 votes

Que signifie "chmod 666" ?

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

122voto

kokbira Points 5117

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 autorise toutes les actions pour tous les utilisateurs ;
  • chmod 744 file/folder autorise uniquement l'utilisateur (propriétaire) à effectuer toutes les actions ; le 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

Vous pouvez également 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 l'autorisation change avec chmod nécessite au moins 3 arguments, donc chmod 666 ne fait rien sans fichier/dossier explicite pour changer les permissions.

Veillez également à critiquer s'il ne produit pas de problèmes d'insécurité ou s'il s'agit simplement d'un changement de permission inutile, car chmod 666 autorisera l'écriture de fichiers/dossiers à tous et l'exécution à aucun.

8voto

MaQleod Points 12844

Comme indiqué dans d'autres réponses, chmod signifie mode de changement. Il affecte les autorisations de lecture, d'écriture et d'exécution pour le propriétaire, le groupe et d'autres catégories d'utilisateurs. Les chiffres 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 les autorisations de lecture et d'écriture, mais pas les autorisations d'exécution).

En remplaçant les chiffres par des valeurs différentes, vous modifiez effectivement les autorisations pour le fichier. Le lien que j'ai référencé ci-dessus contient un petit outil permettant de déterminer les valeurs que vous devez entrer pour obtenir le schéma de permissions que vous recherchez. Il présente également les options de commutation disponibles pour la commande et quelques exemples pour vous aider à mieux comprendre son fonctionnement.

7voto

Ben Points 1248

En termes très clairs : il rend un fichier lisible et inscriptible 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 la liste 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 la façon dont chmod travaux vérifier ce tutoriel pratique .

5voto

La commande chmod (abréviation de change mode) est une commande Unix qui permet à un opérateur d'indiquer au système le niveau d'accès à un fichier. La commande chmod 666 signifie que tous les utilisateurs auront les droits de lecture et d'écriture.

2voto

Kirk Points 2302

Si votre question porte davantage sur la partie 666 que sur la partie chmod, je vous renvoie à la page suivante Le projet de documentation Linux où l'on trouve une explication décente du fonctionnement des autorisations de fichiers sous Linux.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X