Setuid
Setuid (Set User ID, manchmal auch suid) ist ein erweitertes Unix-Dateirecht für Dateien oder Verzeichnisse des Unix-Betriebssystems. Ausführbare Programme, bei denen dieses Bit gesetzt ist, werden zusätzlich zu den Rechten desjenigen Benutzers, der die Datei ausführt, auch mit den Rechten des Benutzers ausgeführt, dem die Datei gehört (das heißt mit den Rechten des Besitzers der Datei, des „Owners“). Auf den meisten Systemen funktioniert dies nur für ausführbare Binärdateien, nicht jedoch für interpretierte Scripts.
Dieses Vorgehen ermöglicht unprivilegierten Benutzern und Prozessen einen kontrollierten Zugriff auf privilegierte Ressourcen.
Im Falle von FreeBSD bewirkt Setuid auf Verzeichnissen, dass darin angelegte Dateien dem Eigentümer des Verzeichnisses gehören und nicht demjenigen Benutzer, der sie anlegt.
Setzen des SUID-Bits

Mit klassischen Unix-Kommandos wie chmod kann das Bit mit einem Aufruf wie
chmod u+s datei
gesetzt werden, wobei datei für mindestens eine Datei bzw. Verzeichnis steht.
Die Rechte zeigt ein ls dann z. B. folgendermaßen an:
-rwSrwxrwx user group datei- Ein großes „S“ repräsentiert hierbei das reine SUID-Bit, ohne execute Bit. Ist auch das execute Bit gesetzt wird ein kleines „s“ angezeigt. Das execute Bit kann über
chmod u+x datei- gesetzt werden.
Auch moderne grafische Dateimanager bieten Möglichkeiten, das Bit grafisch per Checkbox zu aktivieren/deaktivieren.
Vor- und Nachteile
Vorteil dieses Vorgehens ist seine Einfachheit. Im Kernel muss nur wenig Funktionalität vorhanden sein, um eine große Bandbreite an Zugriffsteuerungen durch externe Programme zu implementieren. Es genügt in vielen Fällen, Funktionalität nach „privilegiert“ und „nicht privilegiert“ zu trennen, und die Zugriffsteuerung den setuid-Programmen zu überlassen. Programme können des Weiteren in den Rechten beschnitten werden, wenn das Programm einem eingeschränkten Anwender zugeordnet wird.
Klarer Nachteil ist, dass diese setuid-Programme, die einem höher berechtigten Anwender wie root gehören, aufgrund ihrer Privilegien ein Sicherheitsrisiko darstellen. Ein Fehler in einem dieser Programme kann leicht das ganze System kompromittieren. Sie sind daher auch häufig das Ziel von lokalen Angriffen. Daher werden im Allgemeinen Mechanismen bevorzugt, die ohne setuid auskommen.
Klassische setuid-Programme
Unix-Programme, für die das setuid-Bit zur korrekten Funktion gesetzt sein muss, sind zum Beispiel su sowie sudo, welche mit den ihnen damit zur Verfügung stehenden Root-Rechten den zu startenden Prozess unter einer anderen Benutzerumgebung starten. Auch mount und sein Pendant umount benötigen üblicherweise Root-Rechte. Unter Linux wird aber auch normalen Benutzern das Ein- und Aushängen von Laufwerken erlaubt, die in der Datei /etc/fstab mit der Option user markiert sind.
In allen diesen Fällen muss den Dienstprogrammen jeweils die Möglichkeit zur Verfügung stehen, Aktionen mit Root-Rechten auszuführen. Die Entscheidung, ob dies erlaubt sein soll oder nicht, muss allerdings einer privilegierten Instanz obliegen. Sie wird meist anhand von Konfigurationsdateien gefällt, die von normalen Benutzern nicht bearbeitet werden können.
Siehe auch
- Unix-Dateirechte
- Access Control List
- Weitere erweiterte Dateirechte: Setgid, Sticky Bit
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.