Je ne comprends pas complètement les autorisations de fichier CHMOD, est-ce que quelqu'un peut l'expliquer mieux?

J'ai cherché sur Internet pendant un certain temps pour une bonne explication de CHMOD, mais je n'ai pas encore fait une bonne explication, car chaque explication utilise les mêmes mots avec de petites variations.

Ce que je sais jusqu'à présent: il y a le numéro CHMOD, qui correspond à 3 niveaux d'accès: propriétaire, groupe et tout le monde. Vous pouvez définir Lecture, écriture et Exécution. 777 signifie que tous les utilisateurs peuvent tout faire et 000 signifie que personne ne peut rien faire.

Ce dont j'ai besoin, aidez à comprendre qui est le «propriétaire, le groupe et tous les autres». Les explications typiques indiquent que le propriétaire est "Moi", mais je ne lisez pas, n'écris ni n'exécute? Je vais sur mon site Web en tant qu'utilisateur anonyme pour le tester. Qui est un utilisateur de groupe? Ils sont généralement expain est un utilisateur dans un groupe: P, cela signifie-t-il mon compte sur mon compte d'hébergement partagé? Et qui sont tous les autres?

Ce n'est pas un concept difficile à comprendre, mais les explications que j'ai lues manquent d'explications approfondies. Selon moi, il y a 2 types d'utilisateurs qui ont accès à mon site Web. Il y a le serveur qui accède à des scripts / fichiers et des personnes aléatoires qui demandent au serveur d'accéder à ces scripts / fichiers.

Last but not least, les 3 accessors. À partir de ce que je comprends si "read" est désactivé pour un fichier, il ne sera pas affiché, si "write" est désactivé, il ne peut pas être modifié par un script. Et si l'exécution est désactivée, je ne suis pas vraiment sure.

J'aimerais fortement appuyer une explication solide et répondre à ces questions. Cela semble probablement être une idée simple des administrateurs de serveurs les plus expérimentés, mais je suis actuellement en train d'apprendre l'administration du serveur sur l'hébergement partagé avec Network Solution par moi-même, donc je suis un peu inexpérimenté.

Votre centre d'attention est faux. Oubliez les pages web et les pages Web.

Chmod modifie les autorisations sur les fichiers , pas sur les pages Web.

Vous aurez besoin de fichiers si vous souhaitez afficher des pages Web, mais vous regardez un cas de bord. Commencez par la partie basique.

Si vous prenez un ordinateur Windows et connectez-vous, dites «joe». Ensuite, vous aurez des fichiers dans c: \ users \ joe. Seul vous (lorsque vous êtes connecté en tant que joe) peut lire ceux-ci. Si vous créez un deuxième compte (par exemple, jane, la femme de joe), elle aura des fichiers dans c: \ users \ jane.

Joe peut lire des fichiers de Joe, mais pas les fichiers de Jane. Joe peut lire des fichiers de Jane, mais pas les fichiers de Joe.

Dans unix, cela est similaire.

Vous n'aurez pas de fichiers dans c: / user / *, mais dans / home.

Si vous avez une page Web, vous disposez de fichiers pour cette page Web. Vous devez définir qui peut lire ce fichier, qui peut l'écrire, et qui peut exécuter ces fichiers (en supposant qu'il s'agisse d'un exécutable).

La manière classique de faire cela dans unis est par le propriétaire du fichier (p. Ex. Jane ou Joe), des groupes (par exemple, tous les utilisateurs) et le reste du monde.

Une fois que vous comprenez cela, vous pouvez étendre vos pages Web. Et en fonction de l'http, les choses pourraient même être un peu non standard. Mais commencez par la partie basique. Ignorez les choses Web pour l'instant.


Modifier: en tant que partie d'exemple de mes répertoires. C'est à peu près le même que votre gestionnaire de fichiers devrait vous montrer.

 Crapaud: /home/hennes/.html> ls -l
 Total 18364
 -rw-r-r-- 1 hennes utilisateurs 1320216 27 jan 2012 20050326_Australia_Uluru_from_plane.jpg
 -rw-r-r-- 1 hennes utilisateurs 2012406 déc 16 2010 20101216_Kerstboom2010.JPG
 Lrwxrwxrwx 1 hennes utilisateurs 9 avr 30 2006 Photos -> images /
 -rw-r-r-- 1 hennes utilisateurs 240548 3 mai 20:54 Western_realm.png
 -rw-r-r-- 1 hennes utilisateurs 1654 Apr 24 2004 about_me.html
 -rw-r-r-- 1 hennes utilisateurs 1899 Aug 7 2007 appeltaart
 -rw-r-r-- 1 hennes utilisateurs 4090644 déc 1 2011 book_list.txt
 -rw ------- 1 hennes users 385 Aug 11 2005 booklist.html
 -rw-r-r-- 1 hennes utilisateurs 4384 15 mai 2005 bookmarks.html
 -rw ------- 1 hennes utilisateurs 1999 Feb 28 2011 bug.txt

La première partie sont les autorisations. En groupes de trois.
Ensuite, le numéro de compte (que je ignorerais puisqu'il n'est pas important pour chmod)
Ensuite, l'utilisateur. Dans votre cas, ce serait 'abc'
Derrière l'utilisateur se trouve le groupe auquel appartient le fichier. Sur cet ordinateur, toutes les personnes qui peuvent se connecter sont ajoutées à ce groupe.
Ensuite, la taille du fichier
Date de modification du fichier
Et finalement le nom du fichier

En tant que propriétaire de vos fichiers, vous souhaitez lire et écrire vos propres fichiers. Donc, habituellement, la première colonne a rw- ou rwx dedans. Sans 'r', vous ne pouvez pas lire vos propres fichiers. Sans 'w', vous ne pouvez pas les écrire (et donc vous ne pouvez pas les modifier).

Les utilisateurs des groupes affichés sont un peu génériques. Mais vous pouvez définir les mêmes indicateurs. L'avantage d'un groupe est que vous pouvez y ajouter plusieurs personnes. Par exemple, vous pourriez avoir un fichier avec ces paramètres
- rw- rw- --- 1 Joe SalesWeb 2048 Feb 30 2012 index.html
L'utilisateur 'joe' a créé le fichier. Il le possède. Il peut le lire et y écrire.
Toutes les autres personnes qui ont été ajoutées au groupe 'SalesWeb' peuvent également lire et écrire. (Cela vous permet de travailler avec des groupes sur les fichiers).
Le reste du monde ne peut rien faire du dossier.

Qui sont les «propriétaires, les groupes et tous les autres».

Le concept de système informatique important est qu'une personne doit s'identifier pour utiliser un système sécurisé comme Linux. Il s'agit de la procédure de connexion , qui implique un nom d'utilisateur ou ID utilisateur et un mécanisme de sécurité tel qu'un mot de passe ou une comparaison biométrique (p. Ex., Empreinte digitale ou balayage de l'iris).

Avant toute tentative de connexion , une certaine administration du système doit se produire.

  • Le nom d'utilisateur (ou l' ID utilisateur ) doit être entré dans la liste des utilisateurs valides.
  • Le nom d'utilisateur (ou l' ID utilisateur ) sera également entré dans n'importe quel nombre de listes de groupe . C'est-à-dire que chaque liste de groupe est une liste de tous les utilisateurs membres de ce groupe

Qui est un utilisateur de groupe?

Ces 2 questions n'ont pas de sens, car «groupe» n'est pas un «qui». Un groupe est une liste d' utilisateurs . Ces utilisateurs appartiennent à ce groupe . Compte tenu d'un utilisateur spécifique et d'un groupe spécifique, cet utilisateur est soit dans ce groupe, soit non membre de ce groupe .

Il y a le numéro CHMOD, qui correspond à 3 niveaux d'accès

En plus de ces trois niveaux d'accès, le fichier a deux autres propriétés saillantes:

  • Le nom d'utilisateur qui possède (contrôle) ce fichier.
  • Le nom du groupe qui possède (contrôle) ce fichier.

Il existe trois niveaux d'accès, mais un seul niveau d'accès lecture / écriture / exécution est appliqué. Laquelle des trois autorisations rwx doit être déterminée par un test simple:

  • Si l' utilisateur tente d'accéder à ce fichier est le propriétaire de l'utilisateur, les autorisations rwx du propriétaire doivent être utilisées.
  • Sinon, si l' utilisateur tente d'accéder à ce fichier est un membre du groupe-propriétaire du fichier, les autorisations du groupe rwx doivent être utilisées.
  • Sinon, les autres autorisations rwx doivent être utilisées.

Le type d'accès est comparé aux autorisations sélectionnées une fois que les autorisations rwx sont établies:

  • L'opération d'accès est autorisée pour l'exécution (c.-à-d. Transférer du fichier en mémoire et marquer comme exécutable) uniquement si le bit d'autorisation "x" est défini (activé). Également utilisé pour la recherche d'autorisation si le fichier est en fait un répertoire.
  • L'opération d'accès est autorisée pour l'écriture (c'est-à-dire le transfert de la mémoire vers le fichier) uniquement si le bit d'autorisation "w" est défini (activé).
  • L'opération d'accès est autorisée pour la lecture (c'est-à-dire tout le reste: transférer du fichier en mémoire et marquer comme non exécutable) uniquement si le bit d'autorisation "r" est défini (activé).

Je vais sur mon site Web en tant qu'utilisateur anonyme pour le tester.

Comme mentionné au début, le concept essentiel est qu'une personne doit s'identifier en se connectant au système. Cela implique une procédure de connexion via une console locale ou un terminal ou un terminal distant afin d'établir le nom d'utilisateur . L'accès au système informatique qui ne nécessite pas de connexion implique généralement un accès ou un accès très limité par l'intermédiaire d'un service , tel qu'un serveur Web qui peut fournir des pages Web à votre navigateur. Ce service s'exécute généralement comme un démon et appartient à un utilisateur spécifique et appartient à des groupes spécifiques. (Notez que l' utilisateur qui «possède» le service est généralement une entité abstraite et non une personne réelle. Il existe généralement des mesures de sécurité pour empêcher la connexion en tant que nom d'utilisateur du service .) Étant donné que le noyau démarre le démon, le service n'a pas ouvrir une session". Mais les capacités d'accès de ce service peuvent être contrôlées comme tout utilisateur réel qui se connecte de manière conventionnelle.

BTW pages Web sont sorties (données) du serveur Web (programme) à votre navigateur Web (programme). Les données qui composent ces pages Web peuvent provenir de fichiers .html individuels ou générées dynamiquement, par exemple par des programmes .CGI. Si le serveur Web rencontre une erreur d'autorisation de fichier tout en essayant de remplir une demande de votre navigateur, vous pouvez obtenir un code d'état HTTP "Erreur 403".

Addendum Si vous souhaitez discuter ou évaluer un problème d'autorisation de fichier, vous devez demander et obtenir des réponses à certaines questions:

  • Quel est le nom d'utilisateur du processus d'exécution de l'accès? Si vous exécutez un programme à partir de la ligne de commande, utilisez

     $ whoami 
  • Qui possède le fichier auquel on accède? Vous devez obtenir l'utilisateur et les propriétaires du groupe. La méthode que vous utilisez pour obtenir des autorisations de fichier devrait également être en mesure de signaler la propriété. Ne supposez jamais que, simplement parce que vous possédez un répertoire, vous possédez également tous les fichiers de ce répertoire. L'extraction d'une archive avec des autorisations préservées et les propriétaires pourrait vous surprendre.

  • Quelles sont les autorisations de fichier? Vous semblez déjà savoir comment l'obtenir. Mais vous semblez vous concentrer uniquement sur cette information, et omettre ou ignorer les deux éléments ci-dessus.

Peut-être que les noms d'utilisateur et les concepts de propriété de fichier sont les trous de votre compréhension.