![](https://seccdn.libravatar.org/avatar/440955ab796fb403fba608d0df23b654.jpg?s=120&d=mm&r=g)
Hallo Erich, hallo Leute, ich hab zwar vom Programmieren unter Linux sehr wenig Ahnung, aber vielleicht kann ich Dir doch helfen. -> man Archiv ;-) Am Mittwoch, 27. November 2002 23:17 schrieb Erich Lindner:
ich arbeite gerade an einem Problem, das ich mit suid loesen wollte. Ein selbst geschriebenes C-Programm , das ich als user wwwrun aufrufe, soll mit root-Rechten laufen.
# chown root.uucp /sbin/boxprog # chmod 4750 /sbin/boxprog # usermod -G uucp wwwrun ~> /sbin/boxprog start
das Programm legt seine PID in "/var/log/PID/" ab, dieses Verzeichnis hat die Rechte 775 root.root nun geschieht folgendes: - wenn ich das Programm als root aufrufe klapt alles - wenn ich das Programm als user wwwrun aufrufe, dann beendet sich das Programm wieder weil es seine PID nicht ablegen darf, also ein Rechte-Problem hat.
sollte das Programm nicht mit vollen root-Rechten laufen ?
Wenn ich es richtig verstanden habe: Jein ;-) Aus einer Mail von Jan Trippler auf suse-programming (23.11.2002) Message-ID: <20021123020336.E6746@P75.privat.jan> | Hast Du per setuid(0) die effektive User-ID nach root gewechselt? | Die Set-ID Bits des Programms geben dem Programm nur das Recht, die | ID zu wechseln, das Programm muss selbst dafür sorgen. Siehe | man setuid | man setgid Wenn ich es richtig verstehe, hat Dein Programm durch das chmod das Recht erhalten, seine UID zu wechseln... Und solange es dieses Recht nicht nutzt, läuft es IMHO weiterhin unter wwwrun. Gruß Christian Boltz -- ah verstehe! Das wird ins RAM geschrieben und wenn das voll ist, wird auf Platte geswapt bis zum geht nicht mehr, der host fällt aus, der Herzschlag steigt, failover greift, drbd synchronisiert noch schnell mit dem Rechenzentrum in Atlantic-City und zu guter letzt schreibt round ro- bin seine Info auf Diskette. Alles klar ;) [Andreas Meyer in suse-linux]