* Jan Trippler schrieb am 28.Nov.2002:
On Don, 28 Nov 2002 at 19:39 (+0100), Bernd Brodesser wrote:
/sbin/boxprog muß anders programmiert werden, ohne system() stattdessen mit fopen(), fclose() und fprintf() und gegebenenfalls auch mit execve() und fork()
Auch hier wieder: Nein. Der Weg über fork() und execve() ist sicher der sauberere, aber es funktioniert auch so - man muss eben nur die effektive UserID auch tatsächlich wechseln:
$ man system ... BUGS ... Do not use system() from a program with suid or sgid priv ileges, because strange values for some environment vari ables might be used to subvert system integrity. Use the exec(3) family of functions instead, but not execlp(3) or execvp(3). system() will not, in fact, work properly from programs with suid or sgid privileges on systems on which /bin/sh is bash version 2, since bash 2 drops privileges on startup. (Debian uses a modified bash which does not do this when invoked as sh.) Ohne system funktioniert es bei mir genauso wie es soll. Bernd -- Was ist quoten? Quoten ist das Zitieren aus einer mail, der man antwortet. Und wie macht man es richtig? Zitate werden mit "> " gekennzeichnet. Nicht mehr als nötig zitieren. Vor den Abschnitten das Zitat, auf das man sich bezieht, mit einer Zeile Abstand oben und unten. |Zufallssignatur 12