Hallo,
du möchtest also im Hintergrund einen Service mit root-Rechten ausführen, der beliebige Programme auf Zuruf mit root-Rechten starten kann? Das ist ein wunderbarer Angriffspunkt.
Alternativ kannst du einfach die Programme, die Root-Rechte benötigen (und dazu gehören su, passwd, login oder ping nun mal), immer als root starten lassen. Wenn das Programm bestimmte Rechte nicht benötigt, kann es sie selbst droppen. Dazu muss es die Rechte aber erstmal bekommen. Das kann man pro Programm im Dateisystem regeln (d.h. man muss das Dateisystem schützen), man kann einen Service haben (dann muss man den Service schützen) oder eine privilegierte Instanz haben.
Die Idee, das im Dateisystem zu regeln, finde ich garnicht so verkehrt. Prozesse, die aber so einen Freibrief bekommen, müssen damit verantwortungsvoll umgehen. Deswegen funktioniert das SUID-Flag z.B. nicht bei Shellscripten und es ist auch nicht auf Root beschränkt.
Gruß,
Svenska