Simpel gezegd: is het mogelijk een programma te schrijven dat een ander proces forked en ervoor zorgt dat het geforkte proces denkt door de "root" user te worden aangeroepen? En dat terwijl het oorspronkelijke programma door een normale gebruiker werd aangeroepen?
Ik heb namelijk het volgende probleem: ik wil dat standaard gebruikers op mijn server het "lpc topq" commando kunnen gebruiken, maar het is een "privileged command", wat zoveel betekent als dat je er "root" voor moet zijn.
Met betrekking tot de veiligheid wil ik nu dus een klein programma schrijven wat niets anders kan als dit "lpc topq" proces uit te voeren als root.
Als voorbeeld voor het forken van een programma heb ik het volgende programma gezien. Kan ik hier met seteuid() en getuid() niet iets uitspoken dat het werkt?
Het lukt me nog niet op het moment. Ik maak van het programma uiteraard een suid-binary.
Help!
[edit]
Toevoeging: lpc maakt gebruik van getuid() om mij te identificeren.
Ik heb namelijk het volgende probleem: ik wil dat standaard gebruikers op mijn server het "lpc topq" commando kunnen gebruiken, maar het is een "privileged command", wat zoveel betekent als dat je er "root" voor moet zijn.
Met betrekking tot de veiligheid wil ik nu dus een klein programma schrijven wat niets anders kan als dit "lpc topq" proces uit te voeren als root.
Als voorbeeld voor het forken van een programma heb ik het volgende programma gezien. Kan ik hier met seteuid() en getuid() niet iets uitspoken dat het werkt?
Het lukt me nog niet op het moment. Ik maak van het programma uiteraard een suid-binary.
Help!
[edit]
Toevoeging: lpc maakt gebruik van getuid() om mij te identificeren.