Groupid setzen
-
Ich habe linux, kann etwas c und c++, bin root und will so ein Programm mit anderen rechten aufrufen.
Das ich die Hauptgruppe und uid mit seteuid/setegid setzen kann habe ich inzwischen herausgefunden. Irgendwie muss ich die Daten zwar noch aus /etc/passwd bekommen, aber das kriege ich schon hin
Aber in Linux kann ein User ja bekanntlich in mehreren Gruppen sein, die sozusagen Nebengruppen sind. Diese sind ja in /etc/group(s?) gespeichert.
Nur das Problem ist, das ich keinen Ansatz habe wie ich diese setze.
Also wie geht das?(ja ich weis das das mit su <name> -c <befehl> besser sicherer und einfacher geht, aber ich will es trotzdem machen. langeweile und so
-
uid steht für user id, entsprechend steht gid für groupid und wenn setuid/seteuid die uid setzt, setzt man: setgid(2)/man: setegid(2).
Daten aus /etc/passwrd bekommst du mit man: getpwnam(3).