So verwenden Sie Spezialberechtigungen mit SetUid, SetGid und Sticky Bits
- 3041
- 896
- Hr. Moritz Bozsik
Zielsetzung
Zu erfahren, wie besondere Berechtigungen funktionieren, wie sie identifizieren und festlegen können.
Anforderungen
- Kenntnis des Standard -Unix/Linux -Berechtigungssystems
Schwierigkeit
EINFACH
Konventionen
- # - Erfordert, dass gegebene Linux -Befehle entweder mit Root -Berechtigungen ausgeführt werden müssen
direkt als Stammbenutzer oder durch Verwendung vonsudo
Befehl - $ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können
Einführung
Normalerweise basiert das Eigentum an Dateien und Verzeichnissen auf einem Unix-ähnlichen Betriebssystem auf dem Standard uid
(Benutzer-ID) und gid
(Gruppe-ID) des Benutzer, der sie erstellt hat. Das Gleiche passiert, wenn ein Prozess gestartet wird: Er wird mit dem effektiven Benutzer-ID und Gruppen des Benutzers ausgeführt, der ihn gestartet hat, und mit den entsprechenden Berechtigungen. Dieses Verhalten kann durch Verwendung spezieller Berechtigungen geändert werden.
Das SetUid -Bit
Wenn das SetUid
Bit wird verwendet, das oben beschriebene Verhalten wird so geändert, dass beim Start einer ausführbaren Datei nicht mit den Berechtigungen des Benutzer, der es gestartet hat, ausgeführt wird, sondern mit dem des Dateibesitzers stattdessen. Also zum Beispiel, wenn eine ausführbare Datei die hat SetUid
Ein bisschen darauf eingestellt und ist im Besitz von Root, wenn es von einem normalen Benutzer gestartet wird, wird es mit Root -Berechtigungen ausgeführt. Es sollte klar sein, warum dies ein potenzielles Sicherheitsrisiko darstellt, wenn nicht korrekt verwendet.
Ein Beispiel für eine ausführbare Datei mit dem SetUid -Berechtigungssatz ist Passwd
, Das Dienstprogramm, mit dem wir unser Anmeldekennwort ändern können. Wir können das durch die Verwendung der verwenden ls
Befehl:
ls -l /bin /passwd -rwsr -xr -x. 1 Root Root 27768 11. Februar 2017 /bin /passwd
Wie man die identifiziert SetUid
Bit? Wie Sie sicherlich bemerkt haben, die Ausgabe des obigen Befehls zu betrachten, ist die SetUid
Ein bisschen wird durch eine dargestellt S
anstelle des X
des ausführbaren Bits. Der S
Impliziert, dass das ausführbare Bit festgelegt ist, sonst würden Sie ein Kapital sehen S
. Dies geschieht, wenn die SetUid
oder setgid
Bits sind festgelegt, das ausführbare Bit ist jedoch nicht und zeigt dem Benutzer eine Inkonsistenz: die SetUid
Und setgit
Bits haben keine Wirkung, wenn das ausführbare Bit nicht festgelegt ist. Das SetUid -Bit hat keinen Einfluss auf Verzeichnisse.
Das setgid bit
im Gegensatz zu den SetUid
Bit, die setgid
Bit wirkt sich sowohl auf Dateien als auch auf Verzeichnisse aus. Im ersten Fall die Datei, die die hat setgid
Bit Set, wenn sie ausgeführt werden, läuft anstatt mit den Berechtigungen der Gruppe des Benutzers, der sie gestartet hat, mit denen der Gruppe zu die Datei.
Wenn stattdessen in einem Verzeichnis verwendet wird, die setgid
Bit verändert das Standardverhalten so, dass die Gruppe der in diesem Verzeichnis erstellten Dateien nicht das des Benutzer, der sie erstellt hat,, sondern das des übergeordneten Verzeichnisses selbst sein wird. Dies wird häufig verwendet, um die Freigabe von Dateien zu erleichtern (Dateien werden von allen Benutzern, die Teil der Gruppe sind, verändert). Genau wie beim SetUid kann das SetGid -Bit leicht entdeckt werden (in diesem Fall in einem Testverzeichnis):
ls -ld test drwxrwsr -x. 2 EGDOC EGDOC 4096 1 17:25 Test
Diesmal die S
ist anstelle des ausführbaren Bits im Gruppensektor vorhanden.
Das klebrige Stück
Das Sticky -Bit funktioniert anders. Ein typischer Fall, in dem es verwendet wird, beinhaltet die /tmp
Verzeichnis. In der Regel ist dieses Verzeichnis von allen Benutzern auf dem System beschreibbar. Um einem Benutzer die Dateien eines anderen zu löschen, ist das Sticky -Bit festgelegt:
$ ls -ld /tmp drwxrwxrwt. 14 Root Root 300 Nov 1 16:48 /TMP
In diesem Fall verfügt der Eigentümer, die Gruppe und alle anderen Benutzer über volle Berechtigungen im Verzeichnis (lesen, schreiben und ausführen). Das klebrige Bit ist durch a identifizierbar T
was gemeldet wird, wo normalerweise die ausführbare Datei X
Bit wird im Abschnitt "Andere" angezeigt. Wieder ein Kleinbuchstaben T
Impliziert, dass das ausführbare Bit ebenfalls vorhanden ist, sonst würden Sie ein Kapital sehen T
.
So setzen Sie spezielle Teile
Genau wie bei normalen Berechtigungen können die speziellen Bits mit dem zugeordnet werden Chmod
Befehl mit dem numerischen oder der Ugo/rwx
Format. Im ersteren Fall die SetUid
, setgid
, Und klebrig
Bits werden jeweils durch einen Wert von 4, 2 und 1 dargestellt. Also zum Beispiel, wenn wir die festlegen wollen setgid
Ein bisschen in einem Verzeichnis würden wir ausführen:
$ chmod 2775 Test
Mit diesem Befehl setzen wir die setgid
Bit on the Directory (identifiziert durch die erste der vier Nummern) und dem Eigentümer und dem Benutzer, der Mitglieder der Gruppe sind, die das Verzeichnis gehört, sowie die Erlaubnis für alle anderen Benutzer, zu denen das Verzeichnis gehört, und für alle anderen Benutzer auszuführen (Denken Sie daran, dass das Bit in einem Verzeichnis ausführen kann, dass ein Benutzer dies in der Lage ist CD
hinein oder benutzen ls
Um seinen Inhalt aufzulisten).
Die andere Möglichkeit, die Special Berechtigungen zu setzen, besteht darin, die UGO/RWX -Syntax zu verwenden:
$ chmod g+s test
Um die anzuwenden SetUid
Ein bisschen zu einer Datei hätten wir ausgeführt:
$ chmod u+s Datei
Während Sie das Klebebit auftragen, um anzuwenden:
$ chmod o+t Test
Die Verwendung spezieller Berechtigungen kann in einigen Situationen sehr nützlich sein, aber wenn sie nicht richtig verwendet werden, können ernsthafte Schwachstellen einführen. Überlegen Sie sich also zweimal, bevor Sie sie verwenden, bevor Sie sie verwenden.
Verwandte Linux -Tutorials:
- Dinge zu installieren auf Ubuntu 20.04
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- SetGid -Verzeichnisse für die Zusammenarbeit erstellen und konfigurieren -…
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- So erstellen
- Linux -Konfigurationsdateien: Top 30 am wichtigsten
- Mint 20: Besser als Ubuntu und Microsoft Windows?
- Kann Linux Viren bekommen?? Erforschung der Verwundbarkeit von Linux…
- Linux -Download
- Wie man Kali Linux und Windows 10 Dual -Boot -Start hat
- « So führen Sie automatisch das Shell -Skript beim Start -Start auf Systemd Linux aus
- So upgraden Sie Debian 8 Jessie auf Debian 9 Stretch auf »