Dieser Artikel erklärt, wie man ls
verwendet Befehl zum Überprüfen der Linux®-Dateiberechtigungen. Die Möglichkeit, die Berechtigungen für eine Datei zu überprüfen, ist nützlich, insbesondere zur Fehlerbehebung. Sie können beispielsweise sicherstellen, dass ein Benutzer eine bestimmte Datei lesen kann, oder eine Verzeichnisstruktur untersuchen, um sicherzustellen, dass Benutzer der Hierarchie zu den benötigten Dateien folgen können.
Für eine eingehendere Diskussion über Linux-Dateiberechtigungen siehe Konzepte für Linux-Dateiberechtigungen.
ls-Befehl
Verwenden Sie das ls
Befehl (der erste Buchstabe ist ein kleines L), um zu sehen, welche Dateien sich in einem Verzeichnis befinden. Wenn es alleine ausgeführt wird, ls
gibt eine Liste des aktuellen Arbeitsverzeichnisses zurück. Sie können auch ein aufzulistendes Verzeichnis angeben. Das folgende Beispiel zeigt eine Liste der ersten paar Dateien in /etc
Verzeichnis auf einem Gentoo-System.
$ ls /etc
DIR_COLORS gentoo-release man.conf runlevels
adjtime gpm mime.types sandbox.conf
apache2 group mke2fs.conf sandbox.d
bash group- modprobe.d scsi_id.config
ca-certificates host.conf modules.autoload.d securetty
ca-certificates.conf hosts modprobe.d scsi_id.config
...
ls -h
Das -h
Option ändert die Art und Weise, wie Dateigrößen angezeigt werden. Wenn Sie die Option -h verwenden, werden Dateigrößen im für Menschen lesbaren Format von Kilobyte, Megabyte usw. und nicht in Rohbytes angezeigt. Andere Linux-Tools wie df
unterstützt auch diese Flagge. Der Befehl df -h
zeigt die aktuelle Festplattennutzung in einem leichter lesbaren Format an.
ls -a
Um versteckte Dateien anzuzeigen (Dateien, deren Namen mit einem Punkt beginnen), verwenden Sie den -a
Möglichkeit. Zum Beispiel, wenn Sie nur ls
verwenden um das Root-Home-Verzeichnis auf einer sauberen Linux-Installation zu betrachten, werden keine Dateien zurückgegeben:
$ ls /root
Wenn Sie jedoch das -a
hinzufügen Option, die ls
Befehl gibt eine Liste von Dateien zurück:
$ ls -a /root
. .. .bash_history .bashrc .profile .viminfo
Dateien, die mit einem Punkt beginnen, sind häufig Systemdateien und Anwendungseinstellungsdateien, und Sie möchten normalerweise nicht, dass sie in Verzeichnislisten aufgenommen werden. Aber es ist wichtig zu wissen, dass sie da sind und wie man sie sieht. Die .bashrc
Datei ist besonders nützlich, weil sie Benutzerumgebungseinstellungen enthält, die Sie ändern können.
Kombiniert man das -a
Option mit dem -l
Option (siehe nächster Abschnitt) in -la
, erhalten Sie alle Details der versteckten Dateien:
$ ls -la /root
total 24
drwxr-xr-x 2 root root 4096 2009-12-16 01:10 .
drwxr-xr-x 23 root root 4096 2010-02-18 10:14 ..
-rw------- 1 root root 123 2010-01-21 15:49 .bash_history
-rw-r--r-- 1 root root 2227 2007-10-20 11:51 .bashrc
-rw-r--r-- 1 root root 141 2007-10-20 11:51 .profile
-rw------- 1 root root 868 2009-12-16 00:47 .viminfo
Beachten Sie den einfachen Punkt und den doppelten Punkt in beiden Verzeichnislisten:
-
Der einzelne Punkt (.) bezieht sich auf das Verzeichnis selbst. Dies ist praktisch, wenn Sie möchten, dass es einen Befehl ausführt und auf Ihr aktuelles Verzeichnis verweist (zum Beispiel, wenn Sie eine Datei dorthin kopieren möchten).
-
Der doppelte Punkt (..) bezieht sich auf das übergeordnete Verzeichnis. Wenn Sie
cd ..
eingeben Das Verzeichnis wechselt in der Dateisystemhierarchie zu dem Verzeichnis, das über dem liegt, in dem Sie sich gerade befinden. Zum Beispiel, wenn Ihr aktuelles Verzeichnis/root
ist , geben Siecd ..
ein würde Sie zu/
führen , ganz oben in der Hierarchie.
ls -l
Um mehr Informationen über die Dateien in einem Verzeichnis zu erhalten, verwenden Sie -l
Option mit ls, wie im folgenden Beispiel gezeigt.
$ ls -l /etc
total 492
-rw-r--r-- 1 root root 4468 Nov 19 2009 DIR_COLORS
-rw-r--r-- 1 root root 10 Jun 30 03:29 adjtime
drwxr-xr-x 4 root root 4096 Jun 30 03:44 apache2
drwxr-xr-x 2 root root 4096 Nov 19 2009 bash
drwxr-xr-x 3 root root 4096 Nov 19 2009 ca-certificates
-rw-r--r-- 1 root root 5955 Nov 19 2009 ca-certificates.conf
drwxr-xr-x 2 root root 4096 Jul 5 20:37 conf.d
drwxr-xr-x 2 root root 4096 Dec 3 2009 cron.d
drwxr-x--- 2 root root 4096 Dec 3 2009 cron.daily
-rw-r--r-- 1 root root 220 Dec 3 2009 cron.deny
drwxr-x--- 2 root root 4096 Dec 3 2009 cron.hourly
drwxr-x--- 2 root root 4096 Dec 3 2009 cron.monthly
drwxr-x--- 2 root root 4096 Dec 3 2009 cron.weekly
-rw-r--r-- 1 root root 611 Dec 3 2009 crontab
...
Die Dateinamen befinden sich ganz rechts in jeder Zeile, und die Dateidetails stehen vor den Namen. Die notwendigen Details zum Überprüfen der Dateiberechtigungen sind (1) die Reihe von Buchstaben und Bindestrichen ganz links in jeder Zeile und (2) die beiden Spalten mit root
in ihnen (im vorherigen Beispiel). Im Rest dieses Artikels wird erläutert, wie diese Details zu interpretieren und zu verwenden sind.
Berechtigungsdetails
Dieser Abschnitt erklärt die Abfolge von Buchstaben und Bindestrichen, die die Dateiberechtigungen definieren.
Das erste Zeichen:Dateityp
In den vorangegangenen Beispielen war das erste Zeichen in jeder Liste entweder ein Aschstrich (-) oder der Buchstabe d
.
-
Ein Bindestrich (-) zeigt an, dass es sich um eine normale Datei handelt.
-
Der Buchstabe
d
gibt an, dass es sich bei der Datei um ein Verzeichnis handelt, bei dem es sich im Grunde um eine spezielle Art von Datei handelt.
Ein besonderer Dateityp, den Sie möglicherweise sehen, ist ein Symlink, manchmal auch Softlink genannt. Es beginnt mit einem kleinen L
, wie im folgenden Beispiel gezeigt:
lrwxrwxrwx 1 root root 4 Jun 30 03:29 sh -> bash
Ein Symlink ist ein Zeiger auf eine andere Stelle im Dateisystem.
Abkürzungen für Berechtigungen
Berechtigungen für Dateien werden durch die folgenden Buchstaben dargestellt.
r
bezieht sich auf die Leseberechtigung.w
bezieht sich auf die Schreibberechtigung.x
bezieht sich auf die Ausführungserlaubnis.
Die Berechtigungszeichen
Betrachten Sie das folgende Beispiel:
drwxrwxr-x 2 root mail 4096 Dec 3 2009 mail
Das erste Buchstabentrio nach dem Dateityp in einer Dateiliste (rwx
) zeigt die Berechtigungen für den user
, oder Dateieigentümer.
Das nächste Zeichentrio (auch rwx
) zeigt die Berechtigungen für diegroup
Kategorie.
Das letzte Zeichentrio (r-x
) zeigt die Berechtigungen für die letzte Kategorie other
. In diesem Beispiel haben Benutzer, die weder Eigentümer der Datei noch Mitglieder der Gruppe sind, Lese- und Ausführungsberechtigungen, aber keine Schreibberechtigungen, was durch den Bindestrich (-) in der mittleren Position angezeigt wird.
Beachten Sie die spezifische Reihenfolge der Berechtigungen in einem Trio:Lesen, Schreiben, Ausführen. Ein Bindestrich anstelle eines Buchstabens für eine Berechtigung bedeutet, dass die Kategorie diese Berechtigung nicht hat.
Die erste Zahl
Die hinter den Berechtigungen aufgeführte Zahl gibt die Verknüpfungsanzahl einer Datei oder die Anzahl der enthaltenen Verzeichniseinträge für ein Verzeichnis an. Diese Nummer ist für Berechtigungen nicht relevant.
Eigentümer und Gruppe
Nach der Anzahl der Links werden zwei Namen aufgelistet. Im vorherigen Beispiel lauten die Namen root
und mail
.
Der Vorname gibt den Eigentümer der Datei an. Der user
Berechtigungen gelten für den Eigentümer der Datei, sodass in diesem Fall der Benutzer „root“ Lese-, Schreib- und Ausführungsberechtigungen für dieses Verzeichnis hat.
Der zweite Name ist die Gruppe der Datei. Die group
Berechtigungen gelten für jeden Benutzer in derselben Gruppe wie die Datei, also gelten diese Berechtigungen in diesem Fall für jeden in mail
Gruppe.
Der Rest
Die restlichen Dateidetails sind die Größe der Datei, das Datum und die Uhrzeit, zu der die Datei erstellt oder zuletzt geändert wurde, und der Dateiname.