Maison >Tutoriel système >Linux >Une interprétation approfondie du signe plus et du point dans la colonne d'autorisation sous Linux

Une interprétation approfondie du signe plus et du point dans la colonne d'autorisation sous Linux

王林
王林original
2024-07-02 16:51:22915parcourir

Une interprétation approfondie du signe plus et du point dans la colonne dautorisation sous Linux

1.Résumé

Sous Linux, la commande ls -l est la plus couramment utilisée. La première colonne du résultat d'affichage de la commande est également celle qui nous concerne le plus. De manière générale, les caractères indiquant les autorisations occupent 10 positions. Cependant, nous voyons souvent du contenu affiché à la onzième position de cette colonne. Le plus courant est le point (.), et le signe plus (+) apparaîtra également à cette position. Essayons-le de nos propres mains, d'accord ?

2. Concernant le point (.) dans la colonne autorisation

2.1 Jetons un coup d'œil au répertoire racine.

[root@DCGH ~]# ls -lZ /
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 bin -> usr/bin
dr-xr-xr-x. root root system_u:object_r:boot_t:s0 boot
drwxr-xr-x. root root system_u:object_r:device_t:s0 dev
drwxr-xr-x. root root system_u:object_r:etc_t:s0 etc
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 home
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib -> usr/lib
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib64 -> usr/lib64
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 media
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 mnt
drwxr-xr-x. root root system_u:object_r:usr_t:s0 opt
dr-xr-xr-x. root root system_u:object_r:proc_t:s0 proc
dr-xr-x---. root root system_u:object_r:admin_home_t:s0 root
drwxr-xr-x. root root system_u:object_r:var_run_t:s0 run
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 sbin -> usr/sbin
drwxr-xr-x. root root system_u:object_r:var_t:s0 srv
dr-xr-xr-x. root root system_u:object_r:sysfs_t:s0 sys
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
drwxr-xr-x. root root system_u:object_r:usr_t:s0 usr
drwxr-xr-x. root root system_u:object_r:var_t:s0 var

2.2 Créez respectivement un fichier et un répertoire dans le répertoire HOME, et observez les détails de la onzième position des autorisations.

[root@DCGH ~]# touch DCGH
[root@DCGH ~]# mkdir DCGH-DIR
[root@DCGH ~]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 3月 28 10:23 DCGH
drwxr-xr-x. 2 root root 6 3月 28 10:24 DCGH-DIR

2.3 Vérifiez l'état SELinux de cette machine et répertoriez les informations de base sur SELinux dans les fichiers et répertoires de ce répertoire.

[root@DCGH ~]# getenforce
Enforcing
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR

2.4 Fermez SELinux, créez à nouveau des fichiers et des répertoires expérimentaux et répertoriez à nouveau les informations de base sur SELinux dans ce répertoire ainsi que les fichiers et répertoires sous la racine.

[root@DCGH ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
[root@DCGH ~]# reboot
[root@DCGH ~]# getenforce
Disabled
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
[root@DCGH ~]# touch DCGH-later
[root@DCGH ~]# mkdir DCGH-later-dir
[root@DCGH ~]# ls -lZ
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
-rw-r--r-- root root ? DCGH-later
drwxr-xr-x root root ? DCGH-later-dir
[root@DCGH ~]# ls -lZ /
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 bin -> usr/bin
dr-xr-xr-x. root root system_u:object_r:boot_t:s0 boot
drwxr-xr-x root root ? dev
drwxr-xr-x. root root system_u:object_r:etc_t:s0 etc
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 home
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib -> usr/lib
lrwxrwxrwx. root root system_u:object_r:lib_t:s0 lib64 -> usr/lib64
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 media
drwxr-xr-x. root root system_u:object_r:mnt_t:s0 mnt
drwxr-xr-x. root root system_u:object_r:usr_t:s0 opt
dr-xr-xr-x root root ? proc
dr-xr-x---. root root system_u:object_r:admin_home_t:s0 root
drwxr-xr-x root root ? run
lrwxrwxrwx. root root system_u:object_r:bin_t:s0 sbin -> usr/sbin
drwxr-xr-x. root root system_u:object_r:var_t:s0 srv
dr-xr-xr-x root root ? sys
drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
drwxr-xr-x. root root system_u:object_r:usr_t:s0 usr
drwxr-xr-x. root root system_u:object_r:var_t:s0 var

À travers l’exemple ci-dessus, nous pouvons voir que ce point (.) n’est pas inutile, mais il a un effet énorme, et nous n’y prêtons généralement pas beaucoup d’attention. Les fichiers et répertoires créés après l'activation de SELinux afficheront ce point dans la colonne d'autorisation. Les fichiers et répertoires créés après la désactivation de SELinux n'afficheront pas ce point dans la colonne d'autorisation. Les fichiers ou répertoires créés avant resteront inchangés.

3. Concernant le signe plus (+) dans la colonne autorisation

3.1 Les amis qui ont découvert les paramètres d'autorisation ACL sous Linux doivent être familiers avec ce signe plus. Mais vérifions-le par des expériences.

[root@DCGH ~]# setfacl -m u:dcgh:rwx *

[root@DCGH ~]# ls -lZ

-rw-rwxr--+ root root unconfined_u:object_r:admin_home_t:s0 DCGH

drwxrwxr-x+ root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR

drwxrwxr-x+ root root ? DCGH-DIR-later -rw-rwxr--+ root root ? DCGH-later

[root@DCGH ~]# setfacl -b *

[root@DCGH ~]# ls -lZ

-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 DCGH

drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR

drwxr-xr-x root root ? DCGH-DIR-later -rw-r--r-- root root ? DCGH-later

Nous pouvons voir qu'après l'ajout du contrôle d'autorisation ACL, la dernière position de la colonne d'autorisation des fichiers et répertoires qui avaient auparavant des attributs SELinux a été remplacée par un signe plus (+). Après avoir supprimé les autorisations ACL d'origine, restaurez-les à leur état d'origine.

4.Résumé

4.1 Les points dans la colonne des autorisations Linux ne sont pas des caractères dénués de sens. Les répertoires et fichiers créés lorsque SELinux est activé ont ce point. Ce point dans la colonne des autorisations indique que le répertoire ou le fichier dispose d'autorisations liées à SELinux. Après avoir désactivé les autorisations SELinux, il n'est pas pratique pour les fichiers ou répertoires créés lorsque les autorisations SELinux étaient précédemment activées de conserver leurs autorisations d'origine, et les points dans la colonne des autorisations sont toujours affichés. Les répertoires ou fichiers nouvellement créés n'ont pas ce point affiché dans la colonne des autorisations.

4.2 Si la dernière position dans la colonne d'autorisation est un signe plus, cela signifie que ce répertoire ou ce fichier a déjà défini un contenu lié aux autorisations ACL. Si le signe plus existe, pour un répertoire ou un fichier qui possède déjà un point, l'affichage du point sera écrasé, mais les attributs SELinux d'origine resteront inchangés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn