Maison >Tutoriel système >Linux >Une interprétation approfondie du signe plus et du point dans la colonne d'autorisation sous Linux
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.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.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.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!