So verwenden Sie Spezialberechtigungen mit SetUid, SetGid und Sticky Bits

So verwenden Sie Spezialberechtigungen mit SetUid, SetGid und Sticky Bits

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 von sudo 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