Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Frage zu chroot

4 views
Skip to first unread message

Ulf Bartelt

unread,
Jun 5, 1994, 10:45:26 AM6/5/94
to
Darko Krizic (de...@xtac.tg.sub.org) wrote:
: : Meldung 'Cannot execute /bin/chroot /pub /bin/sh: No such file or directory'
: : fehl. Woran liegt's?

: Das Programm login nimmt alles, was hinter dem letzten Doppelpunkt (:) in
: der /etc/passwd steht, und versucht dieses auszufuehren. Es hat also
: versucht ein Programm namens "bin/chroot /pub /bin/sh" auszufuehren,
: welches nicht existiert.

: Abhilfe: Die Programme im ~/.profile aufrufen.

Dann muesste chroot doch sicherlich setuid root laufen ?

Aber egal, den 10-Zeiler namens chrootshell.c oder so, der erst chroot-et,
danach die root-Rechte wegwirft und dann erst eine Shell anwirft hat man
doch schnell geschrieben - oder ?

...und wenn's keine Args braucht, kann's denn endlich doch in die
/etc/passwd eingetragen werden...


Bye !
Ulf.

--
Ulf Bartelt | 2:2437/120...@fidonet.org | st...@zaphod.in.tu-clausthal.de
| | st...@linux.rz.tu-clausthal.de

Oliver Graf

unread,
Jun 5, 1994, 11:16:26 AM6/5/94
to
t...@informatik.uni-hannover.de (Thomas Esser) writes:

>Viel Spass beim Programmieren,
>PS: vielleicht schreibst Du mir mal, ob Du es geschafft hast.

Hai!

So, das chroot-Problem habe ich nun folgendermaßen gelöst:

Der User-Eintrag in der /etc/passwd sieht folgendermaßen aus:
public::406:28::/home/public:/bin/sh

*** Datei /home/public/.profile:
HOME=/pub
export HOME
cd $HOME
/etc/gastlogin $HOME /bin/sh -login
exit

*** Datei /etc/gastlogin.c:
#include <stdio.h>
#include <unistd.h>
void main(argc, argv)
int argc;
char *argv[];
{
char cmdlin[64];
chdir(argv[1]);
chroot(argv[1]);
seteuid(getuid());
setenv("HOME", "/", 1);
sprintf(cmdlin, "%s %s\0",argv[2], argv[3]);
system(cmdlin);
}

/etc/gastlogin muß SUID root haben!

Ferner befinden sich in /pub Kopien von:
- /bin/sh in /pub/bin/sh
- verschiedene Dienstprogramme in /pub/bin/...
- /etc/group in /pub/etc/group
- /etc/passwd in /pub/etc/passwd
- /etc/termcap in /pub/etc/termcap
- /lib/ld.so in /pub/lib/ld.so
- /lib/libabi.so.0 in /pub/lib/libabi.so.0
- /lib/libabi.so.0.1 in /pub/lib/libabi.so.0.1 als Link zu libabi.so.0.1
- /lib/libc.so.4 in /pub/lib/libc.so.4
- /lib/libc.so.4.4.4 in /pub/lib/libc.so.4.4.4 als Link zu libc.so.4.4.4
- /lib/libm.so.4 in /pub/lib/libm.so.4
- /lib/libm.so.4.4.4 in /pub/lib/libm.so.4.4.4 als Link zu libm.so.4

Ob noch irgendwas fehlt, wird sich in den nächsten Tagen herausstellen. Aber
das ganze sieht schon einmal ganz gut aus. :-)

--
eMail: ol...@casbah.ruessel.sub.org ! Snail mail: Oliver Graf
----------------------------------------! Uranusstr. 4
Phone: +49 2305 32803 ! 44579 Castrop-Rauxel
+49 231 9644 230 ! Germany

0 new messages