Linux-Dateien und -Verzeichnisse verfügen über Berechtigungsinformationen wie "Wer darf welche Art von Operation ausführen?". Dies wird als "Berechtigung" bezeichnet.
Ich wusste, dass die Datei "Berechtigungen" hat, aber ich wusste nicht, dass sie auch im Verzeichnis festgelegt ist, also werde ich sie zusammenstellen.
Verwenden Sie zuerst ls -l / bin / cat
, um die Informationen des cat-Befehls
anzuzeigen.
$ ls -l /bin/cat
-rwxr-xr-x 1 root root 35064 Jan 18 2018 /bin/cat
Das -
am Zeilenanfang gibt den Dateityp an.
Symbol | Bedeutung |
---|---|
- | Normale Datei |
d | Verzeichnis |
l | Symbolischer Link |
Die neun Zeichen nach dem Dateityp (rwxr-xr-x
) werden als Dateimodi bezeichnet, die die Berechtigungen der Datei angeben.
Die 9 Zeichen sind "ein Block pro 3 Zeichen" und sind in "Eigentümer", "Gruppe" bzw. "andere Gruppen" unterteilt.
Inhaber | Gruppe | その他のGruppe |
---|---|---|
rwx | r-x | r-x |
rwx bedeutet "lesen", "schreiben" bzw. "ausführen".
Symbol | Bedeutung |
---|---|
r | lesen(read) |
w | Schreiben(write) |
x | Lauf(excute) |
$ ls -l /bin/cat
-rwxr-xr-x 1 root root 35064 Jan 18 2018 /bin/cat
Das obige / bin / cat
, aber das Schreiben von jemand anderem als dem Root-Benutzer ist verboten.
Als ich versuchte zu schreiben, war ich wütend, dass ich die Option "schreibgeschützt" nicht überschreiben sollte (hinzufügen! Überschreiben).
Überprüfen Sie die Berechtigungen des Betreffverzeichnisses.
Um die Berechtigungen eines Verzeichnisses mit dem Befehl ls
zu überprüfen, müssen Sie zusätzlich zur Option -l
die Option -d
verwenden, die Informationen zum Verzeichnis selbst anzeigt.
$ ls -ld Code/
drwxrwxr-x 4 vagrant vagrant 4096 Apr 8 14:54 Code/
Verzeichnisberechtigungen verwenden die Symbole "r", "w" und "x" wie für Dateien, aber ** die Bedeutung jedes Symbols kann von der für Dateien abweichen (insbesondere "x"). ~~ Es hat eine ganz andere Bedeutung. ~~ **
Symbol | Bedeutung |
---|---|
r | lesen(Rufen Sie eine Liste der in einem Verzeichnis enthaltenen Dateien ab) |
w | Schreiben(Erstellen und löschen Sie Dateien und Verzeichnisse unter dem Verzeichnis) |
x | Lauf(Machen Sie das Verzeichnis zum aktuellen Verzeichnis) |
Erstellen Sie nun eine Datei und testen Sie sie.
$ mkdir permissionTest //Erstellen Sie ein Verzeichnis mit dem Namen allowTest
$ touch permissionTest/file1.txt //Datei1 unter Berechtigungstest.Erstellen Sie eine Datei mit dem Namen txt
$ ls -ld permissionTest/ //Überprüfen Sie das VerzeichnisilegeTest
drwxrwxr-x 2 vagrant vagrant 4096 Apr 23 11:50 permissionTest/
$ ls -l permissionTest/ //Überprüfen Sie die Dateien unter erlaubnisTest
-rw-rw-r-- 1 vagrant vagrant 0 Apr 23 11:50 file1.txt //Erfolg
Machen Sie die Berechtigungen des Erlaubnisberechtigungsverzeichnisses unlesbar und versuchen Sie, darauf zuzugreifen.
$ chmod a-r permissionTest/ //Lesegeschützt für alle Benutzer
$ ls -ld permissionTest/
d-wx-wx--x 2 vagrant vagrant 4096 Apr 23 11:50 permissionTest/ //Lesegeschützt.
$ ls permissionTest/
ls: cannot open directory 'permissionTest/': Permission denied
** Kein Zugriff ohne Erlaubnis. ** **.
Wenn write (w) im Verzeichnis festgelegt ist, kann es erstellt / gelöscht werden, auch wenn die darunter liegenden Dateien Schreibbeschränkungen unterliegen.
** Dies bedeutet, dass es von den Berechtigungen des Verzeichnisses abhängt, ob eine Datei gelöscht werden kann, nicht von den Berechtigungen der Datei. ** **.
Versuchen Sie, Einschränkungen für die Datei zu schreiben, und prüfen Sie, ob die Datei gelöscht werden kann.
$ chmod a-w file1.txt //Schreibberechtigung für Datei entfernen
$ ll file.txt //Überprüfen Sie die Dateiberechtigungen
-r--r--r-- 1 vagrant vagrant 0 Apr 23 11:50 file1.txt //Bestätigung des Löschens der Schreibberechtigung
$ rm file1.txt //Datei löschen
rm: remove write-protected regular empty file 'file1.txt'?ja Möchten Sie es löschen?
Natürlich können Sie es löschen.
Stellen Sie sicher, dass Sie nicht auf Verzeichnisse zugreifen können, für die nicht "x" ausgeführt wird.
$ chmod a-x permissionTest/ //Beschränken Sie die Ausführungsberechtigung von allowTest
$ ls -ld permissionTest/ //Überprüfen Sie die Berechtigungen von PermissionTest
drw-rw-r-- 2 vagrant vagrant 4096 Apr 23 11:50 permissionTest/ //Bestätigung
v$ cd permissionTest/ //permissionTest/Zugriff
-bash: cd: permissionTest/: Permission denied //Kann nicht.
Symbol | Für Dateien | Für Verzeichnisse |
---|---|---|
r | Datei lesen | Rufen Sie eine Liste der in einem Verzeichnis enthaltenen Dateien ab |
w | In Datei schreiben | Erstellen und löschen Sie Dateien und Verzeichnisse unter dem Verzeichnis |
x | Dateiausführung | Machen Sie das Verzeichnis zum aktuellen Verzeichnis |
Neues Linux-Lehrbuch
Recommended Posts