Als Linux-Anfänger erfahren Sie mehr über die Berechtigungen und das Eigentum, die mit der Datei und den Verzeichnissen verbunden sind. Linux/Unix-ähnliche Betriebssysteme ermöglichen Ihnen, eine Kombination aus neun Bit-Berechtigungen festzulegen, um zu verhindern, dass andere Benutzer unnötig auf Dateien/Verzeichnisse zugreifen. Diesen ähnlich sind spezielle Berechtigungen für ausführbare Dateien, die als Set UID, Set GID und Sticky Bits bekannt sind.

Das Verständnis spezieller Berechtigungen kann für angehende Linux-Administratoren etwas überfordernd sein. Hier erfahren Sie ein wenig Hintergrundwissen zu den regulären Dateiberechtigungen und erklären, wie sie sich von speziellen Berechtigungen unterscheiden. Wir demonstrieren auch die SetID-, GetID- und Sticky-Bits-Funktionalität mit Beispielen für ein umfassendes Verständnis.

Reguläre Linux-Dateiberechtigungen

Linux verwendet die chmod-Befehl zuordnen/ändern lesen (r=4), schreiben (w=2) und ausführen (x=1) Berechtigungen für Dateien und Ordner. Das heißt, die oben erwähnten neun Bits gelten für die drei Hauptkategorien von Berechtigungsgruppen. Die ersten drei sind für den Benutzer, dem die Datei gehört, der zweite Satz ist für die Gruppe, die der Datei/dem Verzeichnis zugewiesen ist, und die letzten drei repräsentieren alle anderen Benutzer.

instagram viewer

Zum Beispiel werden in einer normalen Datei alle Arten von Berechtigungen für alle Benutzerkategorien als -rwxrwxrwx angezeigt. Während - anstelle von Buchstaben das Fehlen dieser Erlaubnis darstellen. Jetzt chmod Der Befehl verwendet Zahlen und Buchstaben, um Berechtigungen wie folgt zu ändern:

sudo chmod 755 Datei #für rwxr-xr-x 
sudo chmod 644 Datei #for rw-r--r-- 
sudo chmod a-w file #for r-xr-xr-x 
sudo chmod a+x Datei #for --x--x--x

Spezielle Linux-Dateiberechtigungen

Der setuid bit stellt die Berechtigung für eine ausführbare Datei dar, die von anderen Benutzern mit der Autorisierung des Eigentümers ausgeführt werden kann. Zum Beispiel, wenn der Benutzer max führt den vi-Befehl als Benutzer aus John, Sie haben die Lese-/Schreibberechtigungen von John.

Um Dateien mit setuid zu identifizieren, verwenden Sie die ls befehle und suche nach dem S Bit anstelle des ausführbaren Bits x, folgendermaßen.

UID-Bit setzen

Der setuid bit stellt die Berechtigung für eine ausführbare Datei dar, die von anderen Benutzern mit der Autorisierung des Eigentümers ausgeführt werden kann. Zum Beispiel, wenn der Benutzer max führt den vi-Befehl als Wurzel, er hat die Lese-/Schreibberechtigungen des Wurzel. Um Dateien mit setuid zu identifizieren, verwenden Sie die ls befehle und suche nach dem S Bit anstelle des Ausführungsbits x, folgendermaßen:

ls -la /etc/passwd 
-rwsr-xr-x 1 root root 88464 14. Dezember 12:46 passwd

Einige andere Beispiele sind:

ls -la /bin/gpasswd
-rwsr-xr-x 1 root root 88464 14. Juli 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 root root 67816 21. Juli 2020 su
ls -la /newgrp
-rwsr-xr-x 1 root root 44784 14. Juli 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 root root 166056 19. Januar 2021 sudo

Um das setuid-Bit für ausführbare Dateien zu setzen, verwenden Sie den Befehl chmod wie folgt:

chmod u+s /etc/passwd

So entfernen Sie die Berechtigung zum Ausführen der Dateien von Nicht-Root-Benutzern oder -Eigentümern:

chmod u-s /etc/passwd

GID-Bit setzen

Wie besprochen steuert das set-uid-Bit den Dateizugriff für andere Benutzer, während das setgid-Bit (GID) kollaborative Verzeichnisse erstellt. Das bedeutet, dass jede Datei, die in diesem Verzeichnis erstellt wurde, für die Gruppe des Verzeichnisses zugänglich ist. Daher ermöglicht es allen Gruppenmitgliedern, ausführbare Dateien ohne die Rechte des Besitzers auszuführen und schützt sie vor anderen Benutzern.

Führen Sie diese Schritte aus, um ein kollaboratives Verzeichnis in Ihrem Linux-System zu erstellen:

Erstellen Sie eine Gruppe mit dem groupadd Befehl mit der Gruppen-ID 415 für die Zusammenarbeit:

groupadd -g 415 Administratoren

Verwenden Sie den Befehl usermod, um hinzuzufügen Johnan die Gruppe für Dateizugriff/Ausführung.

usermod -aG admins john

Verwenden Sie die mkdir Befehl zum Erstellen eines Verzeichnisses:

mkdir /tmp/collaborative_dir

Verwenden Sie die chgrp Befehl zum Zuweisen des Verzeichnisses zum Admins Gruppe:

chgrp-Administratoren /tmp/collaborative_dir

Verwenden Sie die chmod Befehl zum Ändern der Verzeichnisberechtigung auf 2775. Das 2-Bit schaltet die eingestellte Gid ein, 7 um dem Benutzer und der Gruppe volle rwx zuzuweisen, während 5 (r-w) für andere aktiviert wird.

chmod 2775 /tmp/collaborative_dir

Ändern Sie zuletzt Ihr Benutzerkonto in John und eine Datei erstellen im kollaborativen Verzeichnis, um die Dateiberechtigungen zu überprüfen.

su - john
Tippen Sie auf /tmp/collaborative_dir/file.txt

Der Befehl su kann zu einem Authentifizierungsfehler führen. Geben Sie in diesem Fall das sudo su Befehl, um zum Root zu wechseln und erneut auszuführen su - john um das Benutzerkonto zu ändern

Listen Sie nun die Berechtigungen auf, um die gesetzten GID-Bit(s) für das Verzeichnis und die neu erstellte Datei zu überprüfen.

ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt 

In einem typischen Szenario wird einer von john erstellten Datei eine Gruppe john zugewiesen. Da Sie die Datei in einem festgelegten GID-Bit-Verzeichnis erstellen, weist sie dem Admins Gruppe, sodass jeder, der zur Gruppe gehört, wie der Benutzer Chris, wird Zugriff darauf haben.Verwandt: So erstellen Sie neue Dateien unter Linux mit Touch

Klebrige Bits

Im Gegensatz zu SID- und GID-Bits unterscheiden sich Sticky Bits in ihrer Funktionalität, da sie Dateien und Verzeichnisse vor dem Umbenennen und Löschen durch andere Benutzer schützen. Die reguläre Dateiberechtigung ermöglicht es jedem Benutzer mit Schreibzugriff, die Datei zu löschen oder umzubenennen. Bei gesetztem Sticky-Bit ist dies jedoch nicht möglich, es sei denn, Sie sind der Root-Benutzer oder Eigentümer der Datei.

Das ideale Szenario für die Verwendung von Sticky Bits ist das Verzeichnis, auf das alle Benutzer zur Dateierstellung zugreifen können. Verwenden Sie zum Beispiel die ls -ld Befehl zum Überprüfen der \tmp Verzeichnisberechtigungen wie folgt:

Sie können feststellen, dass das klebrige Bit T ersetzt das Ausführungsbit x. Befolgen Sie die angegebenen Anweisungen, um ein Verzeichnis mit eingeschränktem Löschen zu erstellen:

Erstellen Sie nun ein weiteres Verzeichnis im /tmp Mappe:

mkdir /tmp/new_dir

Ändern Sie die Dateiberechtigungen in 1777 um das Sticky-Bit zu setzen (T) und voller Verzeichniszugriff:

chmod 1777 /tmp/new_dir

Kopieren Sie nun eine beliebige Datei aus dem /etc Ordner zu /tmp/new_dir und ändere seine Berechtigungen zu 666:

cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/services

Listen Sie das Verzeichnis und seinen gesamten Inhalt auf, um Berechtigungen anzuzeigen:

ls -ld /tmp/new_dir /tmp/new_dir/services

Sie können das Sticky-Bit anstelle des Execute-Bits bemerken, was bedeutet, dass nur der Root oder der Benutzer john die Datei löschen kann, da sich die Datei im Sticky-Bit-Verzeichnis befindet.

Informationen zu speziellen Dateiberechtigungen in Linux

Der Artikel zeigt, wie Sie diese Bits setzen, um die Zusammenarbeit bei freigegebenen Dateien und Verzeichnissen zu verbessern und sie vor unbefugtem Zugriff, Ausführung und Löschung zu schützen. Auch wenn Sie mit diesen Bits keine Dateien/Verzeichnisse erstellen, ist es in vielen Situationen hilfreich, spezielle Dateiberechtigungen zu verstehen, insbesondere bei der Fehlerbehebung oder als Systemadministrator. Die unkluge Verwendung dieser Bits kann jedoch verschiedene Sicherheitslücken verursachen.

So behalten Sie Dateiberechtigungen beim Kopieren von Dateien unter Linux bei

Möchten Sie die Dateiberechtigungen beim Kopieren von Dateien unter Linux beibehalten? So geht's mit cp und rsync.

Weiter lesen

TeilenTweetEmail
Verwandte Themen
  • Linux
  • Dokumentenverwaltung
  • Linux
Über den Autor
Rumaisa Niazi (3 Artikel veröffentlicht)

Rumaisa ist freiberufliche Autorin bei MUO. Sie hat einen langen Weg von einer Mathematikerin bis hin zu einem Enthusiasten für Informationssicherheit zurückgelegt und arbeitet als SOC-Analystin. Zu ihren Interessen gehört das Lesen und Schreiben über neue Technologien, Linux-Distributionen und alles rund um die Informationssicherheit.

Mehr von Rumaisa Niazi

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um zu abonnieren