2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Préface : Cette section parle principalement du contenu lié aux autorisations Linux. Les autorisations Linux ne peuvent pas être ressenties si vous utilisez le compte root, nous devons donc utiliser des comptes ordinaires pour connaître le contenu pertinent de cette section et effectuer des tests expérimentaux. Ensuite, grâce à l'étude des autorisations Linux, nous pouvons savoir pourquoi parfois nous avons toujours des autorisations refusées lors de l'exploitation d'un fichier, et nous faire connaître la différence entre les autorisations de fichiers dans le répertoire racine et les autorisations de fichiers dans le répertoire personnel de notre utilisateur ordinaire.
ps : Cette section convient aux amis qui apprennent Linux et connaissent certaines commandes Linux.
// Commençons par connaître la classification des utilisateurs sous Linux :
- racine:super utilisateur, administrateur
- utilisateur général : Autrement dit, certains utilisateurs que nous avons créés. (Utilisateurs ordinaires d'addusr)
La différence fondamentale entre ces deux utilisateurs est que l'utilisateur root n'est pas limité par les autorisations, tandis que les utilisateurs ordinaires sont limités par les autorisations.
//su
Les utilisateurs ordinaires peuvent passer aux utilisateurs root, et les utilisateurs root peuvent également passer aux utilisateurs ordinaires.
Passer d'un utilisateur ordinaire à un utilisateur root :
Le premier - mot de passe su + root. Vous pouvez basculer pour devenir l'utilisateur root. Si vous changez à ce moment-là, la position de l'utilisateur restera inchangée après le changement.
Le deuxième type - su- + mot de passe root. Passez également à l'utilisateur root. Si vous changez à ce moment-là, l'emplacement de l'utilisateur après le changement deviendra le propre répertoire personnel de root.
Après avoir basculé dans les deux situations ci-dessus, vous pouvez utiliser cral + d pour revenir en arrière.
Passage de l'utilisateur root à un utilisateur normal - Le passage de l'utilisateur root à un utilisateur normal ne nécessite pas de mot de passe et peut être commuté directement.
L'utilisateur ordinaire passe à l'utilisateur ordinaire
Il existe généralement deux manières pour les utilisateurs ordinaires de devenir des utilisateurs ordinaires :
Le premier - si vous avez le mot de passe de l'utilisateur ordinaire, vous pouvez utiliser su + user + user's password pour changer d'identité.
Le deuxième type - passez d'abord à l'utilisateur root (reportez-vous à la méthode de commutation ci-dessus), puis passez directement à l'utilisateur spécifié via l'identité root.
Notez que vous pouvez utiliser cral + d pour revenir au changement d'identité de conscience.
Élévation des privilèges de commande : Lorsque nous exécutons la commande, nous ne pouvons pas passer à l'utilisateur root, mais seulement élever les droits d'une des commandes. A ce moment, nous utilisons sudu + command + le mot de passe de l'utilisateur actuel. Les amis peuvent avoir des questions ici, pourquoi devez-vous saisir votre propre mot de passe pour élever les privilèges d'une certaine commande, au lieu du mot de passe root ? En effet, cette élévation des privilèges de commande est conditionnelle, c'est-à-dire que l'élévation des privilèges de commande ne peut être effectuée que lorsqu'un utilisateur est ajouté à la liste blanche du système. S'il n'est pas ajouté à la liste blanche, la commande d'élévation de privilèges est inutile.
Dans la langue vernaculaire, les autorisations indiquent si vous êtes autorisé à faire quelque chose. Il s'agit d'autorisations.
L'identité d'un utilisateur est divisée en : propriétaire, groupe et autres.
Examinons la série de lignes de commande suivante :
Ici, le premier _mian_yang représente initialement le propriétaire du fichier, et le second _mian_yang représente le groupe auquel appartient le fichier. C'est-à-dire que le propriétaire de ces fichiers est _mian_yang, et _mian_yang est l'identité du propriétaire ; le groupe auquel appartiennent ces fichiers est _mian_yang. Si un utilisateur appartient au groupe _mian_yang, alors il est l'identité du groupe auquel appartiennent. auquel il appartient ; et si un utilisateur est à la fois ce n'est pas _mian_yang, ni dans le groupe auquel _mian_yang appartient. Cet utilisateur est alors l'identité de quelqu'un d'autre.
Donc, s'il y a un directeur nommé Zhang San, Zhang San veut se rendre au bureau de son propre directeur. Je voudrais donc demander si Zhang San peut se rendre au bureau du directeur parce qu'il est Zhang San, ou parce qu'il est le directeur. La raison évidente ici est que, parce qu'il est le directeur, il peut se rendre au bureau de son propre directeur. Donc, pour nos fichiers, on peut accéder à ce fichier parce que nous sommes cet utilisateur ? Ou est-ce à cause de notre identité d'utilisateur ? La réponse est l’identité. Autrement dit, l'autorité d'authentification est l'identité.
Deuxième question, nous savons tous que les téléphones portables ont de nombreuses fonctions. Nous pouvons regarder des vidéos, consulter des informations, jouer à des jeux, etc. Ceux-ci peuvent être considérés comme des attributs possédés par les téléphones mobiles. Cependant, lorsque nous avons faim, nous ne pouvons pas manger nos téléphones pour ne plus avoir faim. Pouvoir être utilisé comme nourriture est un attribut que les téléphones portables ne possèdent pas. Ainsi, quoi que nous fassions, même les personnes détenant la plus haute autorité ne peuvent pas permettre que les téléphones portables deviennent de la nourriture. Nous pouvons connaître le deuxième point, c'est-à-dire que les autorisations sont également liées aux attributs des choses.
//La relation entre l'identité et l'utilisateur
Après avoir parlé des trois types d'autorisations, examinons la relation entre les autorisations et les classifications d'utilisateurs en fonction de la classification d'utilisateurs précédente.
Tout d'abord, pour un utilisateur ordinaire, cet utilisateur ordinaire peut être le propriétaire d'un fichier, le groupe auquel appartient un fichier, ou d'autres personnes.
Pour l'utilisateur root, l'utilisateur root peut être le propriétaire d'un fichier, le groupe auquel appartient un fichier ou d'autres personnes.
Alors, comment cela se manifeste-t-il ? Autrement dit, comment Linux détermine-t-il l'identité de cet utilisateur ? Regardons cette image :
Pour les cases vertes et oranges, la case verte est le propriétaire et la case orange est le groupe auquel elle appartient. Ainsi, lorsqu'un utilisateur connecté accède à un fichier, il doit d'abord vérifier s'il est le propriétaire du fichier. Sinon, il doit vérifier s'il est le groupe auquel appartient le fichier. Sinon, alors quelqu'un d'autre.
//Autorisations de fichier
Continuez à regarder cette image. Pour cette image, les cases roses à l'intérieur sont les autorisations de chaque identité. Les barres horizontales vertes correspondent aux autorisations du propriétaire, les barres horizontales orange aux autorisations de groupe et les barres horizontales bleues aux autorisations d'autres personnes. Parmi eux, chaque identité dispose de trois autorisations rwx. Ces trois autorisations constituent un groupe, et les positions de ces trois autorisations sont déterminées. La première position est pour la lecture, la deuxième position est pour l'écriture et la troisième position est pour l'exécutable. Ces trois positions ne seront pas dans le désordre, et la signification de chaque position est déterminée ! Et chaque emplacement n'a que oui ou non et dispose des autorisations spécifiées.
Pensez-y ici, pourquoi avez-vous besoin de l’autorisation pour appartenir à un groupe ?
Supposons que Zhang San et Li Si entrent dans une entreprise pour des entretiens et deviennent finalement stagiaires dans la même entreprise, puis soient affectés respectivement au groupe A et au groupe B. De plus, Zhang San fait partie du groupe A et Li Si est dans le groupe B. Désormais, l'entreprise permet à ces deux groupes de développer un logiciel en même temps. Un jour, Zhang San a écrit un tas de code très puissant, Li Si voulait y jeter un œil, mais Zhang San ne voulait pas que Li Si le voie. Cependant, un jour, le leader veut jeter un œil au code écrit par Zhang San. Cependant, si Zhang San libère l'autorisation de lecture du code, alors Li Si peut le voir, donc le groupe auquel il appartient joue un rôle dans cela. temps. Que ce leader appartienne à ce groupe, afin que je puisse voir ce programme, et le leader aussi, mais les autres ne le peuvent pas.
Il n'y a que deux personnes qui peuvent modifier les autorisations, l'une est le propriétaire et l'autre est root.
Méthode : chmod u + rwx modifie les autorisations modifiées par le propriétaire et ajoute des autorisations au propriétaire (autorisation de lecture r, autorisation d'écriture w, autorisation d'exécution x)
chmod u-rwx modifie les autorisations du propriétaire et soustrait les autorisations correspondantes au propriétaire
chmod g+rwx modifie les autorisations du groupe auquel il appartient et ajoute des autorisations au groupe auquel il appartient.
chmod g-rwx modifie les autorisations du groupe auquel il appartient et ajoute des autorisations au groupe auquel il appartient.
chmod g-rwx pour modifier les autorisations des autres et ajouter des autorisations aux autres
chmod g-rwx pour modifier les autorisations des autres et ajouter des autorisations aux autres
Vous pouvez également chmod u+rwx et g+rwx pour accorder des autorisations à plusieurs identités. Cela signifie ajouter des autorisations au groupe et au propriétaire auquel elles appartiennent, et soustraire des autorisations est le contraire.
Par exemple, si vous souhaitez ajouter des autorisations à toutes les identités en même temps, vous devez chmod a+rwx, et l'inverse est vrai pour soustraire des autorisations.
De plus, en plus de modifier les autorisations, nous pouvons également modifier le propriétaire et le groupe d'un fichier.
Changer le propriétaire du fichier : afficher le fichier utilisateur pour donner ses propres fichiers à quelqu'un et changer le propriétaire.
Changer le groupe auquel appartient un fichier : chgrp Change le groupe auquel appartient un fichier utilisateur.
Les deux instructions ci-dessus nécessitent le consentement de l'utilisateur correspondant. Il existe généralement deux méthodes : l'une consiste à élever les droits, su, et l'autre consiste à communiquer hors ligne.
En ce qui concerne les autorisations, les autorisations de chaque emplacement que nous voyons en utilisant ll sont déterminées, nous pouvons donc utiliser 1 pour représenter que l'emplacement dispose d'autorisations et 0 pour représenter que l'emplacement n'a aucune autorisation. Nous pouvons donc utiliser 111 et 110 pour représenter les autorisations d'une identité. Par exemple, 111 signifie lire, écrire et exécuter. 111 vaut 7, donc les trois identités peuvent être représentées par trois chiffres octaux, comme 777.
Par conséquent, nous pouvons modifier les autorisations comme ceci - chmod 777, ce qui signifie donner toutes les autorisations à toutes les identités.
Maintenant, regardons un exemple :
Désormais, pour l'utilisateur _mian_yang, son statut de propriétaire a des autorisations de lecture mais aucune autorisation d'écriture ; son identité de groupe a des autorisations de lecture et d'écriture.
Alors à ce moment-là, _mian_yang peut-il écrire dans ce fichier ?
La réponse est non, car lorsqu'un utilisateur authentifie son identité, il ne peut authentifier qu'une seule identité. Il authentifie d'abord le propriétaire, puis il authentifie le groupe auquel il appartient et enfin il authentifie les autres.
Pourquoi les autorisations ressemblent-elles à ceci lorsque nous créons un fichier ?
Tout d'abord, ce que nous devons savoir, c'est que les autorisations dans l'image sont les autorisations finales créées par le fichier. Elles ont en fait également une autorisation de démarrage : l'autorisation de démarrage par défaut pour les fichiers de répertoire est 777 et celle par défaut pour les fichiers ordinaires est. 666. Mais pourquoi les autorisations finalement créées sont-elles de 775 pour les fichiers de répertoire et de 664 pour les fichiers ordinaires ?
En effet, il existe par défaut un umask dans le système - un masque d'autorisation. Le masque d'autorisation signifie que toute autorisation qui apparaît dans l'umask n'apparaîtra pas dans l'autorisation finale. La règle de calcul ici n'est pas l'autorisation par défaut - masque d'autorisation, mais l'autorisation finale = autorisation par défaut & (~ masque d'autorisation)
Dans le même temps, umask peut également être modifié, comme le numéro umask, qui consiste à modifier le masque d'autorisation à un certain nombre.
Lecture du répertoire : nous permet de visualiser le contenu des fichiers du répertoire courant
Écriture de répertoire : nous permet de créer, supprimer et modifier des fichiers
Répertoire exécutable : indique si nous sommes autorisés à accéder au répertoire.
En pratique, nous pouvons avoir cette exigence : nous voulons partager des données, mais si nous créons le répertoire sous notre répertoire personnel, les autres utilisateurs ne peuvent pas y accéder. Par conséquent, ce répertoire ne peut être créé que sous le répertoire racine, mais les autorisations par défaut du répertoire racine sont dr-xr-xr-x, ce qui signifie que les trois identités ne peuvent que lire et exécuter et ne peuvent pas créer de répertoires à volonté. Vous devez donc utiliser le compte root pour créer le répertoire.
Après avoir créé ce fichier, nous pouvons définir l'autre identité pour lire, écrire et exécuter ce fichier, sinon il ne peut pas être partagé. Mais si un utilisateur y crée un fichier, parce que le répertoire dispose d'une autorisation en écriture, d'autres peuvent supprimer le fichier à volonté. Ainsi, afin de protéger ce fichier à ce moment-là, l'opération sticky bit a été ajoutée. Le fonctionnement de ce sticky bit garantit que les fichiers créés par l'utilisateur ne peuvent être supprimés que par l'utilisateur lui-même ou root.
Par conséquent, le sticky bit est une autorisation définie spécifiquement pour un répertoire, généralement un répertoire partagé. Tout le monde peut ajouter, supprimer, vérifier et modifier le fichier dans le répertoire, mais seuls le propriétaire et la racine peuvent supprimer le fichier, et personne d'autre. peut.
------------------
C'est tout pour cette section.
Voici mes notes :