Hallo! On 12 Oct 2003 at 21:56 +0000, Stefan Hassenstein wrote:
> In article <[EMAIL PROTECTED]>, Elmar W. Tischhauser wrote: > > On 12 Oct 2003 at 19:59 +0000, Stefan Hassenstein wrote: > > [setuid-root-Probleme mit sudo] > > > > Mountest du vielleicht / (oder /usr) mit der Option nosuid? 'user' > > impliziert =FCbrigens nosuid, nodev und noexec. > > Meine Güte !!! Herzlichen Dank ! Es freut mich, dass ich helfen konnte. Ein OT-Hinweis noch: Dein slrn scheint irgendwie Quoted-printable nicht zu dekodieren, alle über 7-bit-ASCII hinausgehende Zeichen sehen dann leicht seltsam aus. > >> 003-10-12 21:57:04 unable to set uid=3D8 or gid=3D8 for removing setuid > >> privilege +(3) (euid=3D1001) > > > > Diese Meldung sieht eher wie eine deines MTAs aus: UID und GID 8 > > entsprechen dem User bzw. der Gruppe 'mail'. > > hmmm....versuche gerade exim zum laufen zu bekommen... > vielleicht hat der auch ein Problem mit nosuid. Ziemlich sicher. Exim ist normalerweise ebenfalls setuid-root, versucht aber, diese Privilegien so oft als möglich abzulegen. Das gelingt nicht, weil er im Benutzerkontext (EUID=1001=deine Benutzer-UID) aufgerufen wird und das setuid-root-Bit nicht greift. > Ich gebe frank und frei zu, als Mac-user mit der > ganzen uid-Geschichte noch reichlich Verständnis Probleme zu haben. Ist eigentlich ganz einfach. Benutzer- und Gruppennamen sind nichts anderes als "menschenverträgliche" Zeichenketten für Benutzer- und Gruppenkennziffern (UIDs und GIDs). Normalerweise geschieht diese Zuordnung über /etc/passwd bzw /etc/group, dokumentiert ist das Format in passwd(5) und group(5). Du kannst diese Einstellungen in kanonischer Weise mit getent abfragen. Jeder Benutzer kann Mitglied in verschiedenen Gruppen sein, eine davon ist seine primäre. Abfragen lässt sich das zum Beispiel mit id. Wenn du nun als Benutzer mit der UID 1001 und der GID 1001 ein Programm startest, wird der Prozess unter dieser "realen UID" und deiner "realen GID" ausgeführt. Dabei gehört die dem Prozess zu Grunde liegende ausführbare Datei meist nicht dir, sondern root. Beispiel: -rwxr-xr-x 1 root root 1102088 14. Apr 2002 /usr/bin/vim Wenn du nun als Benutzer vim startest, läuft der neue vim-Prozess mit deinen Rechten, also mit UID=1001 und GID=1001. Du darfst aber natürlich /usr/bin/vim weder löschen noch beschreiben. Nun gibt es aber Programme, denen bei Aufruf im Kontext eines normalen Benutzers dessen beschränkte Rechte nicht ausreichen würden. /usr/bin/sudo ist ein Beispiel, weil es ja die nur für root lesbare Datei /etc/sudoers auslesen muss. Für solche Fälle gibt es das Set-User-ID- und das Set-Group-ID-Bit. Hier kommt ins Spiel, dass bei den Rechten eines Prozesses zusätzlich zur realen UID/GID auch die effektive UID/GID verwaltet wird und bei gesetzten s-Bits auf die IDs des Dateieigentümers gesetzt werden. Zum Beispiel: -rwsr-xr-x 1 root root 80584 27. Apr 2002 /usr/bin/sudo Wenn du nun mit UID=GID=1001 sudo aufrufst, haben wir für diesen Prozess folgende Situation: reale UID=1001 effektive UID=0 (root) reale GID=1001 effektive GID=1001 , was bedeutet, dass sudo, obwohl von dir gestartet, "effektiv" mit Root-Rechten läuft. Da von einem normalen Benutzer gestartete Prozesse im Fall von suid-root/sgid-root mit höchsten Rechten laufen, ist es sinnvoll, die Anzahl solcher Programme auf ein absolut notwendiges Minimum zu reduzieren. > Vielen Dank und eine gute Woche ! > > Stefan Wünsche ich dir gleichfalls! Elmar -- [ GnuPG: D8A88C0D / 2407 063C 1C92 90E9 4766 B170 5E95 0D7F D8A8 8C0D ] ······································································· A mouse is a device used to point at the xterm you want to type in.
pgp00000.pgp
Description: PGP signature