Quicktipp: Linux Kurzbefehle/Aliase erstellen
Inhaltsverzeichnis:
Unter Linux- und Unix-Betriebssystemen werden alle neuen Dateien mit Standardberechtigungen erstellt. Mit
umask
Dienstprogramm
umask
können Sie die Erstellungsmaske für den
umask
anzeigen oder festlegen, mit der die Berechtigungsbits für neu erstellte Dateien oder Verzeichnisse festgelegt werden.
Es wird von mkdir, touch, tee und anderen Befehlen verwendet, die neue Dateien und Verzeichnisse erstellen.
Linux-Berechtigungen
Bevor wir fortfahren, wollen wir kurz das Linux-Berechtigungsmodell erläutern.
In Linux wird jede Datei einem Eigentümer und einer Gruppe zugeordnet und mit Zugriffsrechten für drei verschiedene Benutzerklassen versehen:
- der Dateibesitzer. die Gruppenmitglieder. jeder andere.
Es gibt drei Berechtigungstypen, die für jede Klasse gelten:
- die Leseberechtigung. die Schreibberechtigung. die Ausführungsberechtigung.
Mit diesem Konzept können Sie festlegen, welche Benutzer die Datei lesen, in die Datei schreiben oder die Datei ausführen dürfen.
Verwenden Sie den Befehl
ls
, um die Dateiberechtigungen anzuzeigen:
ls -l dirname
drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type
Das erste Zeichen steht für den Dateityp, bei dem es sich um eine normale Datei (
-
), ein Verzeichnis (
d
), eine symbolische Verknüpfung (
l
) oder einen anderen speziellen Dateityp handeln kann.
Die nächsten neun Zeichen stehen für die Berechtigungen, drei Sätze mit jeweils drei Zeichen. Die ersten Sätze zeigen die Eigentümerberechtigungen, die zweiten Gruppenberechtigungen und der letzte Satz zeigt alle anderen Berechtigungen.
Das Zeichen
r
mit dem Oktalwert
4
steht für read,
w
mit dem Oktalwert
2
für write,
x
mit dem Oktalwert
1
für execute permission und (
-
) mit dem Oktalwert
0
für no permissions.
Es gibt auch drei andere spezielle Dateiberechtigungstypen:
setuid
,
setgid
und
Sticky Bit
.
Im obigen Beispiel (
rwxr-xr-x
) bedeutet, dass der Eigentümer über Lese-, Schreib- und Ausführungsberechtigungen (
rwx
) verfügt, die Gruppe und andere über Lese- und Ausführungsberechtigungen.
Wenn wir die Dateiberechtigungen in numerischer Schreibweise darstellen, erhalten wir die Nummer
755
:
- Besitzer:
rwx=4+2+1 = 7Gruppe:rx=4+0+1 = 5Andere:rx=4+0+1 = 5
Bei Darstellung in numerischer Notation können Berechtigungen drei oder vier Oktalstellen (0-7) haben. Die erste Ziffer stellt die speziellen Berechtigungen dar. Wenn sie weggelassen wird, bedeutet dies, dass für die Datei keine speziellen Berechtigungen festgelegt wurden. In unserem Fall ist
755
dasselbe wie
0755
. Die erste Ziffer kann eine Kombination aus
4
für
setuid
,
2
für
setgid
und
1
für
Sticky Bit
.
Dateiberechtigungen können mit dem Befehl
chmod
und Eigentumsrechte mit dem Befehl
chown
geändert werden.
Umask verstehen
Standardmäßig sind auf Linux-Systemen die Standarderstellungsberechtigungen
666
für Dateien, die Benutzern, Gruppen und anderen Lese- und Schreibberechtigungen erteilen, und
777
für Verzeichnisse, dh Lese-, Schreib- und Ausführungsberechtigungen für Benutzer, Gruppen und Andere. Unter Linux kann keine Datei mit Ausführungsberechtigungen erstellt werden.
Die Standarderstellungsberechtigungen können mit dem Dienstprogramm
umask
geändert werden.
umask
betrifft nur die aktuelle Shell-Umgebung. Bei den meisten Linux-Distributionen wird der systemweite Standardwert umask in der Datei
pam_umask.so
oder
/etc/profile
.
Um den aktuellen
umask
, geben Sie einfach
umask
ohne Argumente ein:
umask
Die Ausgabe enthält die
022
Der
umask
Wert enthält die Berechtigungsbits, die für die neu erstellten Dateien und Verzeichnisse NICHT gesetzt werden.
Wie bereits erwähnt, sind die Standarderstellungsberechtigungen für Dateien
666
und für Verzeichnisse
777
. Um die Berechtigungsbits der neuen Dateien zu berechnen, subtrahieren Sie den umask-Wert vom Standardwert.
Um beispielsweise zu berechnen, wie sich
uname 022
auf neu erstellte Dateien und Verzeichnisse auswirkt, verwenden Sie:
- Dateien:
666 - 022 = 644. Der Eigentümer kann die Dateien lesen und ändern. Gruppen und andere können nur die Dateien lesen. Verzeichnisse:777 - 022 = 755Der Eigentümer kann eine CD in das Verzeichnis einlegen und die Dateien im Verzeichnis auflisten, lesen, ändern, erstellen oder löschen. Gruppe und andere können in das Verzeichniscdund die Dateien auflisten und lesen.
Sie können den Maskenwert auch in symbolischer Notation anzeigen, indem Sie die Option
-S
:
umask -S
u=rwx, g=rx, o=rx
Im Gegensatz zur numerischen Notation enthält der Wert für die symbolische Notation die Berechtigungsbits, die für die neu erstellten Dateien und Verzeichnisse festgelegt werden.
Maskenwert einstellen
Die Dateierstellungsmaske kann in oktaler oder symbolischer Schreibweise festgelegt werden. Um die Änderungen dauerhaft zu
umask
setzen Sie den neuen
umask
Wert in eine globale Konfigurationsdatei wie
/etc/profile
, die alle Benutzer
~/.bashrc
oder in die Shell-Konfigurationsdateien eines Benutzers wie
~/.profile
,
~/.bashrc
oder
~/.zshrc
betrifft nur den Benutzer. Die Benutzerdateien haben Vorrang vor den globalen Dateien.
umask
dem
umask
des
umask
Werts sicher, dass der neue Wert kein potenzielles Sicherheitsrisiko darstellt. Werte, die weniger restriktiv als
022
sollten mit größter Vorsicht verwendet werden. Zum Beispiel bedeutet
umask 000
, dass jeder
umask 000
die Berechtigung zum Lesen, Schreiben und Ausführen für alle neu erstellten Dateien hat.
Angenommen, wir möchten restriktivere Berechtigungen für die neu erstellten Dateien und Verzeichnisse festlegen, damit andere Benutzer nicht in die Verzeichnisse
cd
und Dateien lesen können. Die Berechtigungen, die wir benötigen, sind
750
für Verzeichnisse und
640
für Dateien.
Um den
umask
Wert zu berechnen,
umask
einfach die gewünschten Berechtigungen von der Standardberechtigung:
Umask-Wert:
777-750 = 027
Der gewünschte
umask
Wert in numerischer Notation ist
027
.
Um den neuen Wert systemweit dauerhaft
/etc/profile
öffnen Sie die Datei
/etc/profile
mit Ihrem Texteditor:
sudo nano /etc/profile
und ändern oder fügen Sie die folgende Zeile am Anfang der Datei hinzu:
/ etc / profile
umask 027
Führen Sie den folgenden Quellbefehl aus, oder melden Sie sich ab und wieder an, damit die Änderungen wirksam werden:
source /etc/profile
Um die neuen Einstellungen zu überprüfen, erstellen wir eine neue Datei und ein neues Verzeichnis mit
mkdir
und
touch
:
mkdir newdir
touch newfile
drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile
Eine andere Möglichkeit zum Festlegen der Dateierstellungsmaske ist die Verwendung der symbolischen Notation. Zum Beispiel ist
umask u=rwx, g=rx, o=
dasselbe wie
umask 027
.
Fazit
In diesem Handbuch haben wir die Linux-Berechtigungen und die Verwendung des
umask
zum
umask
der Berechtigungsbits für neu erstellte Dateien oder Verzeichnisse erläutert.
Für weitere Informationen geben Sie
man umask
in Ihr Terminal ein.
Befehl Chgrp unter Linux (Gruppe wechseln)
In Linux ist jede Datei einem Eigentümer und einer Gruppe zugeordnet und verfügt über Berechtigungen, die festlegen, welche Benutzer die Datei lesen, schreiben oder ausführen dürfen. Der Befehl chgrpc ändert die Gruppeneigentümerschaft für bestimmte Dateien.
Diff Befehl unter Linux
diff ist ein Befehlszeilenprogramm, mit dem Sie zwei Dateien zeilenweise vergleichen können. Es kann auch den Inhalt von Verzeichnissen vergleichen.
Befehl Dmesg unter Linux
Das Befehlszeilendienstprogramm dmesg druckt und steuert den Kernel-Ringpuffer. Es ist nützlich, um Kernel-Boot-Meldungen zu untersuchen und Hardware-Probleme zu beheben.







