Hi, komischerweise funktioniert das SBit beim Wrapper-Programm fuer mein Shell-Script nicht: -rwsr-xr-x 1 cvs users 4274 May 22 15:49 wrapper ...das ist der Wrapper, der das folgende Script mit system() ausfuehrt: #/bin/sh echo "UID=$UID, EUID=$EUID" leider erhaellt das Script dann nicht die Rechte des "cvs" users ... Prinzipiell funzt dieser Mechanismus aber bei mir, da ja auch das Shaddow-Password-System darauf aufbaut... Hat da jemand einen Tip fuer mich ? Danke Martin --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Martin, * Martin Haller schrieb am 23.Mai.2000:
komischerweise funktioniert das SBit beim Wrapper-Programm fuer mein Shell-Script nicht:
Das SUID-Bit funktioniert *nie* für Shellskripte, sondern nur für Binaries. Schreib ein C-Programm und es wird funktionieren. man getuid Bernd -- Bei Fragen an die Liste erst mal nachschauen, ob es diese Frage nicht schon einmal gegeben hat. Ein Archiv der Liste findest Du auf: http://lists.suse.com/archives/suse-linux |Zufallssignatur 7 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Bernd, Bernd Brodesser wrote:
Hallo Martin,
* Martin Haller schrieb am 23.Mai.2000:
komischerweise funktioniert das SBit beim Wrapper-Programm fuer mein Shell-Script nicht:
Das SUID-Bit funktioniert *nie* für Shellskripte, sondern nur für Binaries. Schreib ein C-Programm und es wird funktionieren.
hab ich doch! Einen Wrapper, der das s-bit hat und das script aufruft... z.B. Majordomo macht das auch so... nur bekommt mein Wrapper nicht die noetigen Rechte durch das S-Bit... Irgendeine Idee ? Tschüss Martin --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Tue, 23 May 2000, Martin Haller wrote:
komischerweise funktioniert das SBit beim Wrapper-Programm fuer mein Shell-Script nicht:
Das SUID-Bit funktioniert *nie* für Shellskripte, sondern nur für Binaries. Schreib ein C-Programm und es wird funktionieren.
hab ich doch! Einen Wrapper, der das s-bit hat und das script aufruft... z.B. Majordomo macht das auch so... nur bekommt mein Wrapper nicht die noetigen Rechte durch das S-Bit...
kann er auch nicht, solange er nicht root gehoert. Von allen Sicherheitsaspekten mal abgesehen sollte folgendes funktionieren: -rwsr-xr-- root.gruppe wrapper (wobei "gruppe" die Gruppe ist, fuer die der Wrapper ausfuehrbar sein soll) und im Wrapper (wie schon gesagt mit einem Vertreter der exec-family) das Shellscript aufrufen. Sonst koennte ja jeder root werden, indem er das SUID- Bit setzt. Das SUID-Bit bedeutet naemlich nicht "root-rechte", sondern "egal, wer es ausfuehrt, es wird mit den Rechten des Eigentuemers getan". Tschau, Volker -- <ESC>:r .signature mailto:volker.mueller@gmx.de Hi I'm a UnixVirus. Please mail me to all people you know and delete some files on your disk at random.:wq --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi, On Tue, May 23 2000 at 08:41 +0200, Martin Haller wrote:
komischerweise funktioniert das SBit beim Wrapper-Programm fuer mein Shell-Script nicht:
-rwsr-xr-x 1 cvs users 4274 May 22 15:49 wrapper
...das ist der Wrapper, der das folgende Script mit system() ausfuehrt:
#/bin/sh echo "UID=$UID, EUID=$EUID"
Lies mal `man 3 system': 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.) Ciao, Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Stefan,
Lies mal `man 3 system':
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.)
Ciao, Stefan
Danke! Da war der Haken! Tschüss Martin --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (4)
-
B.Brodesser@online-club.de
-
haller@desaga-gmbh.de
-
stefan.troeger@wirtschaft.tu-chemnitz.de
-
volker.mueller@gmx.de