Frage

Wie der Titel schon sagt, tut jedem Unix-artiges System zuschreibt Bedeutung den SUID-Bit auf einem Verzeichnis , und wenn ja, was bedeutet das?

Die SVTx (gespeicherte Text oder klebrig) Bit hat einen Sinn - ich soll nicht löscht eine Datei aus diesem Verzeichnis, wenn Sie in die Datei schreiben können. Es wird verwendet, auf / tmp, zum Beispiel.

Das SGID (set GID) Bit hat eine Bedeutung - Dateien in diesem Verzeichnis erstellt werden zu der Gruppe gehören, die das Verzeichnis besitzt (obwohl diese Zuweisung später durch einen expliziten Aufruf von chown (2) geändert werden kann)

Was ist mit dem SUID-Bit?

War es hilfreich?

Lösung

Als Followup auf Knoten Antwort, werde ich die folgende von der FreeBSD-man-Seite für Mount-Post (8):

             suiddir
                 A directory on the mounted file system will respond to
                 the SUID bit being set, by setting the owner of any new
                 files to be the same as the owner of the directory.  New
                 directories will inherit the bit from their parents.
                 Execute bits are removed from the file, and it will not
                 be given to root.

                 This feature is designed for use on fileservers serving
                 PC users via ftp, SAMBA, or netatalk.  It provides secu-
                 rity holes for shell users and as such should not be used
                 on shell machines, especially on home directories.  This
                 option requires the SUIDDIR option in the kernel to work.
                 Only UFS file systems support this option.  See chmod(2)
                 for more information.

Und die chmod (2) man-Seite Abschnitt, der mit dem suid Bit verweist:

           4000    (the setuid bit).  Executable files with this bit set will
               run with effective uid set to the uid of the file owner.
               Directories with this bit set will force all files and sub-
               directories created in them to be owned by the directory
               owner and not by the uid of the creating process, if the
               underlying file system supports this feature: see chmod(2)
               and the suiddir option to mount(8).

Bitte beachten Sie, dass dies ein Sicherheitsrisiko ist und wissen, was Sie tun, wenn Sie es ermöglichen, in FreeBSD aber ich glaube, Linux und erfordert es spezielle Flag montieren aktiviert werden und wird die Art und Weise Dateien in diesem Verzeichnis verhalten ändern.

Andere Tipps

Kopiert von hier :

  

Bei den meisten Systemen, wenn ein Verzeichnis Set-group-ID-Bit gesetzt ist, erben neu erstellte Subdateien die gleiche Gruppe wie das Verzeichnis, und neu erstellten Unterordner erben die Set-group-ID-Bit des übergeordneten Verzeichnisses. Auf einigen Systemen hat ein Verzeichnis der set-user-ID-Bit eine ähnliche Wirkung auf den Besitz von neuen Subdateien und die Set-Benutzer-ID-Bits neuer Verzeichnisse. Diese Mechanismen können Benutzer Dateien gemeinsam nutzen leichter, indem sie die Notwendigkeit verringert chmod oder chown zu verwenden, um neue Dateien zu teilen.

     

verlassen Diese Bequemlichkeit Mechanismen auf der Set-Benutzer-ID und set-group-ID-Bits von Verzeichnissen. Wenn Befehle wie chmod und mkdir routinemäßig diese Bits auf Verzeichnisse gelöscht, wären die Mechanismen weniger bequem, und es wäre schwieriger, Dateien zu teilen. Daher wird ein Befehl wie chmod keinen Einfluss auf das Set-Benutzer-ID oder Set-Gruppen-ID-Bits eines Verzeichnisses, wenn der Benutzer speziell, um sie in einem symbolischen Modus erwähnt, oder legt sie in einem numerischen Modus.

Wenn auf einem Verzeichnis gesetzt, werden alle Dateien und in diesem Verzeichnis erstellt Verzeichnisse den gleichen Eigentümer wie das SUID-Verzeichnis haben sich, unabhängig davon, wer die Datei erstellt. Dies ist ein Merkmal, das nicht zu oft verwendet wird, aber es kann in einigen Fällen nützlich sein. ( Quelle )

Update:. Ich habe gerade versucht dies auf Linux 2.6.25.5-1.1-default # 1 SMP x86_64 GNU / Linux openSUSE 11.0 (X86-64)

mkdir tmp
chmod 4777 tmp
su othergroup
touch testfile

Es hatte keine Wirkung.

Die SUID-Bit besagt, dass bei der Ausführung einer Datei (wenn ausführbar), wird der Prozess unter der Identität des Besitzers läuft der Datei, nicht der Benutzer, der es ausgeführt wird.

Es gibt einige Fälle, in denen ein Hilfsprogramm ‚suid root‘ ist Privilegieneskalation zu ermöglichen.

EDIT: misread ursprüngliche Frage (die eher als Dateien auf Verzeichnisse bezieht) - Verlassen Antwort unverändert für pädagogische Zwecke ;-)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top