Re: SecureCopy ohne Shell

From: Bernd Walter <ticso(at)cicely8.cicely.de>
Date: Tue, 19 Mar 2002 13:54:28 +0100

On Tue, Mar 19, 2002 at 12:31:41AM +0100, Nicolas Rachinsky wrote:
> * Bernd Walter <ticso(at)cicely8.cicely.de> [2002-03-18 22:09:21 +0100]:
> > On Mon, Mar 18, 2002 at 09:38:14PM +0100, Peter Ross wrote:
> > > vor kurzem habe ich einen Server aufgesetzt, der via ssh erreichbar ist.
> > >
> > > Ein Account sollte keine echte Shell haben, sondern nur einen Transport
> > > via scp können.
> > >
> > > Der Versuch, eine Dummy-Shell zu benutzen (etwa: "main () {}" kompiliert),
> > > schlug fehl, ich bekam immer ein "Connection closed". Ein Eintrag in
> > > /etc/shells hat auch nicht geholfen.
> >
> > scp und sftp brauchen die Shell um das Gegenstück aufzurufen.
>
> scp auf jeden Fall, aber sftp auch? Ich dachte es wäre ein Vorteil
> davon, dass man keine Shell braucht, sonst hätte ja auch der Subsystem
> Eintrag keinen Zweck.

Hier die Prozesse die eine sftp Session aufmacht:
57221 ?? S 0:00.20 sshd: bernd(at)notty (sshd)
57222 ?? Ss 0:00.09 tcsh -c /usr/libexec/sftp-server
57224 ?? S 0:00.03 /usr/libexec/sftp-server

Ich denke das ist eindeutig.

Wobei eine rbash mit dem absoluten Pfad wohl auch nicht mitspielt.
Ich fürchte mit scp sieht es ähnlich aus.
Evtl solte man besser einen kleinen Wrapper in C schreiben.

> > > Wie macht man das richtig?
> >
> > Eine passend konfigurierte restricted Shell (z.B. rbash) hilft.
>
> Ginge nicht auch so was als "Shell":
> #!/bin/sh -p
>
> if [ "$1" != "-c" ]; then
> echo Only scp allowed for this account
> exit 1
> fi
>
> shift
> set -- $*
>
> if [ "$1" != "scp" ]; then
> echo Only scp allowed for this account
> exit 1
> fi
>
> shift
> scp "$@"
> #EOF
>
> oder handelt man sich damit Löcher ein?

Bei Shellscripten steckt der Teufel oft im Detail.
Ich würde eher zu C tendieren - sowas ist auch recht schnell gemacht.
Es reicht ja argv vorzuprüfen, -c proggy wegzuschnipseln und dann ein
exec().

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso(at)cicely.de         Usergroup           info(at)cosmo-project.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 19 Mar 2002 - 14:00:23 CET

search this site