Vor einiger Zeit schlug ein Benutzer in einem Kanal, in dem ich mich befand, während eines Gesprächs im IRC vor, dass jemand ein Verzeichnis einrichten sollte, damit es die Benutzer-ID für Dateien erbt, um ein Problem zu lösen, das jemand anderes hatte. Zu der Zeit sprach ich und sagte "Linux unterstützt keine Setuid-Verzeichnisse". Danach zeigte mir die Person, die den Rat gab, einen Pastebin ( http://codepad.org/4In62f13 ) seines Systems, in dem die in einem Verzeichnis festgelegte Berechtigung setuid berücksichtigt wurde.
Nur um zu erklären, wenn ich sage "Linux unterstützt keine Setuid-Verzeichnisse", meine ich, dass Sie "chmod u + s Verzeichnis" gehen können und es das Bit im Verzeichnis setzt. Linux (wie ich es verstanden habe) ignoriert dieses Bit (in Verzeichnissen).
Versuchen Sie, wie ich könnte, ich kann diesen Pastebin einfach nicht ganz replizieren. Jemand hat mir einmal vorgeschlagen, dass es möglich sein könnte, das Verhalten mit Selinux zu emulieren - und mit Regeln herumzuspielen, es ist möglich, eine UID für eine Datei zu erzwingen, aber nicht von einer Setuid-Verzeichnisberechtigung (die ich sehen kann). Das Lesen im Internet war ziemlich uninformativ - die meisten Orte behaupten, "Nein, Setuid in Verzeichnissen funktioniert nicht mit Linux", gelegentlich "es kann unter bestimmten Umständen durchgeführt werden" (wie zum Beispiel: http://arstechnica.com/). etc / linux / 2003 / linux.ars-12032003.html )
Ich erinnere mich nicht, wer die ursprüngliche Person war, aber das ursprüngliche System war ein Debian 6-System, und das Dateisystem, das es ausführte, war xfs gemountet mit "default, acl". Ich habe versucht, das zu replizieren, aber bisher kein Glück (bisher mit verschiedenen Versionen von Debian, Ubuntu, Fedora und Centos versucht)
Kann mir jemand sagen, was oder wie Sie ein System dazu bringen, setuid in einem Verzeichnis zu ehren?
grpid|bsdgroupsodernogrpid|sysvgroups), die bedeutet, dass Dateien in Verzeichnissen mit der Gruppe des Verzeichnisses und nicht mit der Gruppe des Besitzers erstellt werden. vielleicht damit spielen?