Setuid und Setgid sind Unix-Begriffe, Abkürzungen für “Set User ID” bzw. “Set Group ID”. Setuid, manchmal auch als “suid” und “setgid” bezeichnet, sind Zugriffsberechtigungen, die Dateien oder Verzeichnissen in einem Unix-basierten Betriebssystem zugewiesen werden können. Sie werden hauptsächlich verwendet, um Systembenutzern zu ermöglichen, Binärdateien mit erhöhten Rechten vorübergehend auszuführen, um eine bestimmte Aufgabe auszuführen.
Diese Genehmigungen sind die folgenden:
Set-User-ID-on-Execution
Es ermöglicht, beim Ausführen einer Datei, unter den Privilegien des Eigentümers ausgeführt zu werden . Wenn Sie beispielsweise Root-Rechte für den Zugriff auf ein bestimmtes Modul benötigen, schreiben Sie Protokolle, lesen / schreiben Sie Geräte usw.
permite que, al ejecutarse un fichero, se realice bajo los privilegios del grupo propietario del ficheros. SGID, set-group-ID-on-execution ermöglicht, dass beim Ausführen einer Datei die Berechtigungen der Gruppe verwendet werden, der die Dateien gehören.
Wenn Sie SET UID und GID für Dateien und Verzeichnisse festlegen, im Allgemeinen für letztere, wird eine “Vererbung” von Funktionen vom vorherigen zum nächsten Verzeichnis ermöglicht, und alle Dateien / Verzeichnisse, die in den SET GID-Verzeichnissen generiert / erstellt / kopiert werden, weisen die Merkmale auf des übergeordneten Verzeichnisses.
Im Allgemeinen ist die GID zulässig, damit die Benutzer einer Gruppe mit den Dateien derselben Gruppe arbeiten können. Die UID kann den Eigentümer der Datei und die Berechtigungen einer anderen Person der GROUP ändern, wenn die Option “klemmbar” aktiviert ist.
- SAMBA
- FTP
- HTTP
- Datenbanken
Beispiel zur Implementierung von SET UID und GID
Vom Terminal aus erledigen wir folgende Aufgaben:
Wir haben ein Beispielverzeichnis erstellt:
[root @ root] mkdir BEISPIEL
Wir listen das Verzeichnis auf:
[root @ root] vdir
Wir ändern die Berechtigungen des Verzeichnisses so, dass nur die Benutzer der Gruppe “Programmierer” darauf zugreifen können. Die Berechtigungen sind Parameter des Befehls chmod und die folgenden
+ s : um den Suid-Modus zu aktivieren
g + s : um den sgid Modus zu aktivieren
[root @ root] # chown user.programmers
[root @ root] # chmod g + s BEISPIEL
[root @ root] # vdir
Wir listen das Verzeichnis auf und wir werden den Inhalt sehen
4 drwxrwxrwx 2 Benutzerprogrammierer BEISPIEL
Standardmäßig kann kein Benutzer, der nicht zur Gruppe “Programmierer” gehört, mit den Dateien in diesem Verzeichnis arbeiten. Auf der anderen Seite können die Benutzer der Gruppe mit den Dateien in Abhängigkeit von ihren Attributen arbeiten, die die Benutzer haben, wenn sie nur Leserechte oder nur Schreibrechte haben.
Einige Software- und Serviceleistungen wie Samba, FTP, HTTP verfügen über spezielle Funktionen, die nicht von diesen Standards geregelt werden, und ergänzen diese durch eine Erweiterung.
Nachdem wir SET UID und GID erstellt haben, erbt eine Datei oder ein Verzeichnis innerhalb des Beispiels von einem beliebigen Benutzer die zuvor definierten Funktionen, unabhängig davon, wer sie erstellt hat und über welche Berechtigungen sie verfügt.
Als Beispiel können wir sagen, dass wenn wir eine report.txt-Datei im EXAMPLE-Verzeichnis erstellen und der Benutzer, der sie erstellt hat, root ist und die Gruppe Programmierer ist, die Gruppe, zu der die Datei gehören wird, Programmierer.
Da das Verzeichnis EXAMPLE die Attribute drwxrwsrwx hat und angibt, dass es sich bei dem Verzeichnis um SET GID handelt, gehören alle darin erstellten Dateien dem Benutzer und der durch SET GID angegebenen Gruppe.
Wenn wir eine Liste mit mehreren Dateien sehen, würde das so aussehen:
4 drwxr-Sr-x 2 Jose-Programmierer 4096 home.html 4 drwxr-Sr-x 2 Carlos-Programmierer 4096 dependencies.txt 4 drwxr-Sr-x 2 Root-Programmierer 4096 report-project.odf
Ich hoffe, Sie können dieses Tutorial verwenden.