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.

Attachment: pgp00000.pgp
Description: PGP signature

Antwort per Email an