Unter Linux wird der Befehl ls -l am häufigsten verwendet. In der ersten Spalte des Befehlsanzeigeergebnisses geht es uns auch mehr darum. Im Allgemeinen nehmen die Zeichen, die Berechtigungen angeben, 10 Positionen ein. Allerdings sehen wir häufig an der elften Position in dieser Spalte den Punkt (.), und an dieser Position erscheint auch das Pluszeichen. Probieren wir es mal mit unseren eigenen Händen aus, ja?
2.1 Werfen wir einen Blick auf das Stammverzeichnis.
[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 Erstellen Sie jeweils eine Datei und ein Verzeichnis im HOME-Verzeichnis und beachten Sie die Details der elften Position der Berechtigungen.
[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 Überprüfen Sie den SELinux-Status dieser Maschine und listen Sie die grundlegenden Informationen zu SELinux in den Dateien und Verzeichnissen in diesem Verzeichnis auf.
[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 Schließen Sie SELinux, erstellen Sie erneut experimentelle Dateien und Verzeichnisse und listen Sie die grundlegenden Informationen zu SELinux in diesem Verzeichnis und den Dateien und Verzeichnissen im Stammverzeichnis erneut auf.
[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
Anhand des obigen Beispiels können wir erkennen, dass dieser Punkt (.) nicht nutzlos ist, aber eine enorme Wirkung hat und wir ihm normalerweise nicht viel Aufmerksamkeit schenken. Dateien und Verzeichnisse, die nach dem Einschalten von SELinux erstellt wurden, zeigen diesen Punkt in der Berechtigungsspalte an. Dateien und Verzeichnisse, die nach dem Ausschalten von SELinux erstellt wurden, werden diesen Punkt in der Berechtigungsspalte nicht anzeigen.
3.1 Freunde, die etwas über ACL-Berechtigungseinstellungen in Linux gelernt haben, müssen mit diesem Pluszeichen vertraut sein. Aber lassen Sie es uns durch Experimente überprüfen.
[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
Wir können sehen, dass sich nach dem Hinzufügen der ACL-Berechtigungssteuerung die letzte Position der Berechtigungsspalte von Dateien und Verzeichnissen, die zuvor SELinux-Attribute hatten, in ein Pluszeichen (+) geändert hat. Nachdem Sie die ursprünglichen ACL-Berechtigungen entfernt haben, stellen Sie deren ursprünglichen Zustand wieder her.
4.1 Die Punkte in der Linux-Berechtigungsspalte sind keine bedeutungslosen Zeichen. Dieser Punkt in der Berechtigungsspalte zeigt an, dass für das Verzeichnis oder die Datei SELinux-bezogene Berechtigungen festgelegt sind. Nach dem Deaktivieren der SELinux-Berechtigungen ist es für Dateien oder Verzeichnisse, die erstellt wurden, als die SELinux-Berechtigungen zuvor aktiviert wurden, unpraktisch, ihre ursprünglichen Berechtigungen beizubehalten, und die Punkte in der Berechtigungsspalte werden weiterhin angezeigt. Bei neu erstellten Verzeichnissen oder Dateien wird dieser Punkt in der Berechtigungsspalte nicht angezeigt.
4.2 Wenn die letzte Position in der Berechtigungsspalte ein Pluszeichen ist, bedeutet dies, dass dieses Verzeichnis oder diese Datei bereits Inhalte im Zusammenhang mit ACL-Berechtigungen festgelegt hat. Wenn das Pluszeichen für ein Verzeichnis oder eine Datei vorhanden ist, die bereits über einen Punkt verfügt, wird die Anzeige des Punkts überschrieben, die ursprünglichen SELinux-Attribute bleiben jedoch unverändert.
Das obige ist der detaillierte Inhalt vonEine ausführliche Interpretation des Pluszeichens und des Punktes in der Berechtigungsspalte unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!