Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Die Standardberechtigungen von Dateien unter dem Linux-System und die Rolle versteckter Attribute

Die Standardberechtigungen von Dateien unter dem Linux-System und die Rolle versteckter Attribute

齐天大圣
齐天大圣Original
2020-09-13 16:00:242181Durchsuche

Standarddateiberechtigungen

Wenn wir eine Datei erstellen, werden für die Datei standardmäßig Standardberechtigungen festgelegt.

# touch 1.txt
# ls -l 1.txt 
-rw-r--r-- 1 root root 0 Sep 13 14:48 1.txt

# mkdir abc
# ll -d abc
drwxr-xr-x 2 root root 4096 Sep 13 14:51 abc

Sie können sehen, dass die neu erstellten Dateiberechtigungen 644 und die Verzeichnisberechtigungen 755 sind. Woher kommt also dieser 644? Es stellt sich heraus, dass das System neu erstellten Dateien Standardberechtigungen erteilt. Diese Standardberechtigungen können über umask angezeigt werden.

# umask
0022

# umask -S
u=rwx,g=rx,o=rx

Die über umask -S angezeigten Berechtigungen sind die Standardberechtigungen des neu erstellten Verzeichnisses. Wenn es sich bei dem neu erstellten Dateityp um eine Datei handelt, müssen die x-Berechtigungen abgezogen werden, sodass die Standardberechtigungen der neuen Datei 644 (rw) sind -r-xr -x)

Wir können auch die Standardberechtigungen von Dateien über umask ändern

umask 770

Versteckte Dateiattribute

Ich weiß nicht, ob Sie Pagoda verwendet haben Pagode, Pagode wird standardmäßig in einer .user.ini-Datei im Stammverzeichnis der Website erstellt. Diese Datei ist sehr seltsam, selbst wenn Sie ein Root-Benutzer sind, können Sie sie nicht löschen. Die folgende Eingabeaufforderung wird angezeigt:

# rm -f .user.ini 
rm: cannot remove ‘.user.ini’: Operation not permitted

Hier möchten wir über ein anderes Konzept sprechen, die versteckten Attribute von Dateien. Warum werden sie versteckte Attribute genannt? Weil Sie über ls -l nichts anderes an dieser Datei sehen können.

# ll .user.ini 
-rw-r--r-- 1 root root 51 Sep  5 18:48 .user.ini

Wenn Sie etwas Seltsames sehen möchten, müssen Sie lsattr verwenden, um

# lsattr .user.ini 
----i--------e-- .user.ini

Hier müssen wir uns die Bedeutung einiger Zeichen merken:

  • i bedeutet, dass das System keine Änderung daran zulässt Datei. Wenn das Verzeichnis über dieses Attribut verfügt, kann jeder Prozess nur die Dateien im Verzeichnis ändern und darf keine Dateien erstellen oder löschen.

  • a bedeutet, dass das System nur das Anhängen von Daten nach dieser Datei zulässt und keinem Prozess erlaubt, diese Datei zu überschreiben oder abzuschneiden. Wenn ein Verzeichnis über dieses Attribut verfügt, erlaubt das System nur das Erstellen und Ändern von Dateien in diesem Verzeichnis, jedoch nicht das Löschen von Dateien.

Wenn wir diese Datei also löschen möchten, müssen wir ihr verstecktes Attribut ändern. Dies kann über chattr erfolgen.

# chattr -i .user.ini 
# rm -f .user.ini  <===删除成功了

Das obige ist der detaillierte Inhalt vonDie Standardberechtigungen von Dateien unter dem Linux-System und die Rolle versteckter Attribute. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn