[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

sftp Server Config (was: Re: sftp und virtual users)


> > Oder einfach direkt mit OpenSSH, z.B.:
> >     Match Group sftponly
> >         ChrootDirectory %h
> >         ForceCommand internal-sftp
> > 	AllowTcpForwarding no
> > 	X11Forwarding no
> > 	AllowAgentForwarding no

------------------------------------------------------
[...]
# user haben keine Homeverzeichnisse, die Keys werden entsprechend
# an einem zentralen Ort vorgehalten. Insbesondere koennen User ihre
# eigenen Keys nicht veraendern.
AuthorizedKeysFile      /etc/ssh/authorized_keys.d/%u

# User haben ohnehin keine Passwoerter, * im shadow. Entsprechend
# den clients das auch gar nicht erst Passwortauthentifizierung 
# anbieten um Fehllogins zu unterbinden.
PasswordAuthentication no

# abweichend vom debian-lenny default ...
Subsystem sftp internal-sftp

# es sollen nur und ausschliesslich Keys verwendet werden, ergo brauchen
# wir auch kein PAM
UsePAM no

# es sollen nur und ausschliesslich User authentifizieren koennen, die
# einer erlauchten Gruppe angehoeren
AllowGroups     sftpusers

# ... eigetlich braeuchte ich hier kein match, aber falls ich mal
# verschiedene Benutzergruppen unterscheiden will
# (Mantantentauglichkeit), wird mir das helfen.
Match Group sftpusers
        ChrootDirectory /space/ftp/homes/%u
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
        AllowAgentForwarding no
------------------------------------------------------

Wichtig: ich verwende hier "%u" und nicht "%h" fuer ChrootDirectory.

Das funktioniert soweit auch alles sehr gut. Allerdings habe ich ein
"Problem" mit dem Verhalten von ChrootDirectory in Verbindung mit
internal-sftp: Im "normalen Fall" ist es korrekt, dass das
ChrootDirectory root gehoeren muss und ausser root niemand Schreibrechte
dort haben darf, aus Sicht des eingeloggten Benutzers ist das /

Im Falle von internal-sftp benoetigt das ChrootDirectory jedoch gar keine
Dateien, da internal-sftp direkt im sshd laeuft und nicht als externe
Software aufgerufen wird. Entsprechend sollte es auch reichlich egal
sein, ob der Benutzer in / direkt  schreiben kann oder nicht.

Ich muss hier leider innerhalb des ChrootDirectory ein Unterverzeichnis
verwenden, wo der eingeloggte Benutzer Vollzugriff hat. Ich wuerde gerne
auf dieses Unterverzeichnis verzichten, d.h. ich will, dass sftp-User
unter "/" direkt lesen und schreiben koennen.

Kann man das irgendwie mit Tricks umgehen? Hier steht ganz klar die 
convenience fuer den sftp-User im Vordergrund alle Daten unter "/" zu
finden.

Gruss
Raphael

PS: Das obige sshd-Setup ist *nicht* fuer den system-sshd sondern fuer
einen getrennt laufenden sshd, der nur auf einer bestimmten IP-Adresse
laeuft. Mit der obigen Config auf dem "standard-sshd" im System wuerde
man sich (hoffentlich ;-) sehr zuverlaessig aussperren.

-- 
Raphael Eiselstein <rabe@xxxxxxxxx>               http://rabe.uugrn.org/
xmpp:freibyterægmx.de  | https://www.xing.com/profile/Raphael_Eiselstein   
GnuPG:                E7B2 1D66 3AF2 EDC7 9828  6D7A 9CDA 3E7B 10CA 9F2D
.........|.........|.........|.........|.........|.........|.........|..



-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/