Admin Linux - Gestion des fichiers / dossiers

Pour introduire les autorisations telles qu'elles s'appliquent aux répertoires et aux fichiers dans CentOS Linux, regardons la sortie de commande suivante.

[centos@centosLocal etc]$ ls -ld /etc/yum* 
drwxr-xr-x. 6 root root 100 Dec  5 06:59 /etc/yum 
-rw-r--r--. 1 root root 970 Nov 15 08:30 /etc/yum.conf 
drwxr-xr-x. 2 root root 187 Nov 15 08:30 /etc/yum.repos.d

Note - Les trois principaux types d'objets que vous verrez sont

  • "-" - un tiret pour un fichier brut

  • "d" - pour un annuaire

  • "l" - pour un lien symbolique

Nous nous concentrerons sur les trois blocs de sortie pour chaque répertoire et fichier -

  • drwxr-xr-x: racine: racine
  • -rw-r - r--: racine: racine
  • drwxr-xr-x: racine: racine

Maintenant, décomposons cela, pour mieux comprendre ces lignes -

Signifie que le type d'objet est un répertoire
rwx Indique les autorisations de répertoire appliquées au propriétaire
rx Indique les autorisations de répertoire appliquées au groupe
rx Indique les autorisations de répertoire appliquées au monde
racine La première instance, indique le propriétaire de l'annuaire
racine La deuxième instance, indique le groupe auquel les autorisations de groupe sont appliquées

Il est important de comprendre la différence entre propriétaire , groupe et monde . Ne pas comprendre cela peut avoir de lourdes conséquences sur les serveurs qui hébergent des services sur Internet.

Avant de donner un exemple réel, comprenons d'abord les autorisations telles qu'elles s'appliquent aux répertoires et aux fichiers .

Veuillez consulter le tableau suivant, puis continuez avec les instructions.

Octal Symbolique Permanente. Annuaire
1 X Exécuter Entrez dans le répertoire et accédez aux fichiers
2 w Écrire Supprimer ou modifier les fichiers dans un répertoire
4 r Lis Lister les fichiers dans le répertoire

Note- Lorsque les fichiers doivent être accessibles pour la lecture dans un répertoire, il est courant d'appliquer des autorisations de lecture et d' exécution . Sinon, les utilisateurs auront des difficultés à travailler avec les fichiers. Si vous laissez l' écriture désactivée, les fichiers ne pourront pas être: renommés, supprimés, copiés ou modifiés.

Application des autorisations aux répertoires et aux fichiers

Lors de l'application des autorisations, il y a deux concepts à comprendre:

  • Autorisations symboliques
  • Autorisations octales

En substance, chacun est la même mais une manière différente de faire référence et d'attribuer des autorisations de fichier. Pour un guide rapide, veuillez étudier et vous référer au tableau suivant -

Lis Écrire Exécuter
Octal 4 2 1
Symbolic r w X

Lors de l'attribution d'autorisations à l'aide de octalméthode, utilisez un nombre de 3 octets tel que: 760. Le nombre 760 se traduit par: Owner: rwx; Groupe: rw; Autre (ou monde) aucune autorisation.

Un autre scénario: 733 se traduirait par: Propriétaire: rwx; Groupe: wx; Autre: wx.

Il y a un inconvénient aux autorisations utilisant la méthode Octal. Les ensembles d'autorisations existants ne peuvent pas être modifiés. Il est uniquement possible de réaffecter l'ensemble des autorisations d'un objet.

Maintenant, vous vous demandez peut-être quel est le problème avec la réattribution permanente des autorisations? Imaginez une grande structure de répertoires, par exemple / var / www / sur un serveur Web de production. Nous voulons supprimer récursivement le bit w ou write sur tous les répertoires pour Other. Ainsi, le forçant à être ajouté de manière proactive uniquement lorsque cela est nécessaire pour des mesures de sécurité. Si nous réaffectons l'ensemble des autorisations, nous supprimons toutes les autres autorisations personnalisées affectées à chaque sous-répertoire.

Par conséquent, cela posera un problème à la fois à l'administrateur et à l'utilisateur du système. À un moment donné, une personne (ou des personnes) aurait besoin de réaffecter toutes les autorisations personnalisées qui ont été supprimées en réattribuant l'ensemble des autorisations pour chaque répertoire et objet.

Dans ce cas, nous voudrions utiliser la méthode symbolique pour modifier les autorisations -

chmod -R o-w /var/www/

La commande ci-dessus ne "remplacerait pas les autorisations" mais modifierait les ensembles d'autorisations actuels. Alors habituez-vous à utiliser les meilleures pratiques

  • Octal uniquement pour attribuer des autorisations
  • Symbolique pour modifier les ensembles d'autorisations

Il est important qu'un administrateur CentOS maîtrise les autorisations octales et symboliques , car les autorisations sont importantes pour l'intégrité des données et l'ensemble du système d'exploitation. Si les autorisations sont incorrectes, le résultat final sera à la fois des données sensibles et l'ensemble du système d'exploitation sera compromis.

Avec cela couvert, examinons quelques commandes pour modifier les autorisations et le propriétaire / les membres de l'objet -

  • chmod
  • chown
  • chgrp
  • umask

chmod: Modifier les bits d'autorisation du mode fichier

Commander action
-c Comme verbeux, mais ne rapportera que les modifications apportées
-v Verbose, affiche les diagnostics pour chaque demande effectuée
-R Applique de manière récursive l'opération sur les fichiers et répertoires

chmod nous permettra de modifier les autorisations des répertoires et des fichiers en utilisant des ensembles d'autorisations octales ou symboliques . Nous utiliserons cela pour modifier notre affectation et télécharger des répertoires.

chown: Changer le propriétaire du fichier et le groupe

Commander action
-c Comme verbeux, mais ne rapportera que les modifications apportées
-v Verbose, affiche les diagnostics pour chaque demande effectuée
-R Applique de manière récursive l'opération sur les fichiers et répertoires

chown peut modifier à la fois la propriété de l'utilisateur et du groupe d'objets. Cependant, sauf si vous devez modifier les deux en même temps, l'utilisation de chgrp est généralement utilisée pour les groupes.

chgrp: modifier la propriété du groupe d'un fichier ou d'un répertoire

Commander action
-c Comme verbeux, mais ne rapportera que les changements
-v Verbose, génère le diagnostic pour chaque demande effectuée
-R De manière récursive, applique les opérations sur les fichiers et répertoires

chgrp changera le propriétaire du groupe en celui fourni.

Pratique du monde réel

Modifions toutes les affectations de sous-répertoires dans / var / www / étudiants / afin que le groupe propriétaire soit le groupe étudiants . Attribuez ensuite la racine des étudiants au groupe des professeurs. Plus tard, faites du Dr Terry Thomas le propriétaire du répertoire des étudiants , puisqu'il est chargé de toutes les universités en informatique de l'école.

Comme nous pouvons le voir, une fois créé, le répertoire est laissé assez brut.

[root@centosLocal ~]# ls -ld /var/www/students/ 
drwxr-xr-x. 4 root root 40 Jan  9 22:03 /var/www/students/

[root@centosLocal ~]# ls -l /var/www/students/ 
total 0 
drwxr-xr-x. 2 root root 6 Jan  9 22:03 assignments 
drwxr-xr-x. 2 root root 6 Jan  9 22:03 uploads 

[root@centosLocal ~]#

En tant qu'administrateurs, nous ne voulons jamais donner nos informations d'identification root à qui que ce soit. Mais en même temps, nous devons permettre aux utilisateurs de faire leur travail. Laissons donc le Dr Terry Thomas prendre plus de contrôle sur la structure des fichiers et limiter ce que les étudiants peuvent faire.

[root@centosLocal ~]# chown -R drterryt:professors /var/www/students/ 
[root@centosLocal ~]# ls -ld /var/www/students/ 
drwxr-xr-x. 4 drterryt professors 40 Jan  9 22:03 /var/www/students/

[root@centosLocal ~]# ls -ls /var/www/students/ 
total 0 
0 drwxr-xr-x. 2 drterryt professors 6 Jan  9 22:03 assignments 
0 drwxr-xr-x. 2 drterryt professors 6 Jan  9 22:03 uploads

[root@centosLocal ~]#

Désormais, chaque répertoire et sous-répertoire a un propriétaire de drterryt et le groupe propriétaire est composé de professeurs . Étant donné que le répertoire des devoirs permet aux étudiants de rendre le travail attribué, supprimons la possibilité de répertorier et de modifier les fichiers du groupe d' étudiants .

[root@centosLocal ~]# chgrp students /var/www/students/assignments/ && chmod 
736 /var/www/students/assignments/

[root@centosLocal assignments]# ls -ld /var/www/students/assignments/ 
drwx-wxrw-. 2 drterryt students 44 Jan  9 23:14 /var/www/students/assignments/

[root@centosLocal assignments]#

Les étudiants peuvent copier les devoirs dans le répertoire des devoirs . Mais ils ne peuvent pas répertorier le contenu du répertoire, copier les fichiers actuels ou modifier les fichiers dans le répertoire des affectations . Ainsi, il permet simplement aux étudiants de soumettre des travaux terminés. Le système de fichiers CentOS fournira un horodatage de la remise des affectations.

En tant que propriétaire du répertoire des affectations -

[drterryt@centosLocal assignments]$ whoami 
drterryt

[drterryt@centosLocal assignments]$ ls -ld /var/www/students/assignment 
drwx-wxrw-. 2 drterryt students 44 Jan  9 23:14 /var/www/students/assignments/

[drterryt@centosLocal assignments]$ ls -l /var/www/students/assignments/ 
total 4 
-rw-r--r--. 1 adama  students  0 Jan  9 23:14 myassign.txt 
-rw-r--r--. 1 tammyr students 16 Jan  9 23:18 terryt.txt

[drterryt@centosLocal assignments]$

Nous pouvons voir que le propriétaire du répertoire peut lister les fichiers ainsi que modifier et supprimer des fichiers.

Commande umask: fournit les modes par défaut pour les autorisations de fichier et de répertoire au fur et à mesure de leur création

umask est une commande importante qui fournit les modes par défaut pour les autorisations de fichier et de répertoire au fur et à mesure de leur création.

Les autorisations umask utilisent une logique unaire et annulée.

Autorisation Opération
0 Lire, écrire, exécuter
1 Lire et écrire
2 Lire et exécuter
3 Lecture seulement
4 Lire et exécuter
5 Ecrire uniquement
6 Exécuter uniquement
sept pas de permissions
[adama@centosLocal umask_tests]$ ls -l ./ 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt

[adama@centosLocal umask_tests]$ whoami 
adama

[adama@centosLocal umask_tests]$ umask 
0022

[adama@centosLocal umask_tests]$

Maintenant, changeons le umask de notre utilisateur actuel, et créons un nouveau fichier et un nouveau répertoire.

[adama@centosLocal umask_tests]$ umask 077

[adama@centosLocal umask_tests]$ touch mynewfile.txt

[adama@centosLocal umask_tests]$ mkdir myNewDir

[adama@centosLocal umask_tests]$ ls -l 
total 0 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myDir 
-rw-r--r--. 1 adama students 0 Jan 10 00:27 myFile.txt 
drwx------. 2 adama students 6 Jan 10 00:35 myNewDir 
-rw-------. 1 adama students 0 Jan 10 00:35 mynewfile.txt

Comme nous pouvons le voir, les fichiers nouvellement créés sont un peu plus restrictifs qu'avant.

umask pour les utilisateurs doit être modifié soit dans -

  • /etc/profile
  • ~/bashrc
[root@centosLocal centos]# su adama 
[adama@centosLocal centos]$ umask 
0022 
[adama@centosLocal centos]$

Généralement, le umask par défaut dans CentOS sera correct. Lorsque nous rencontrons des problèmes avec une valeur par défaut de 0022 , c'est généralement lorsque différents départements appartenant à différents groupes doivent collaborer sur des projets.

C'est là qu'intervient le rôle d'un administrateur système, pour équilibrer les opérations et la conception du système d'exploitation CentOS.