nelze vytvorit relativni symlink pres sftp
Miroslav Lachman
000.fbsd at quip.cz
Tue Apr 30 13:11:05 CEST 2013
Mam tu takovy problem, se kterym si uz par dnu lamu hlavu.
Na celkem normalnim FreeBSD serveru, kde bezi sshd je vytvoreno nekolik
ssh uctu. Nektere ucty maji povolene pouze pouzivani sftp. Ty ucty
slouzi pro deployment webaplikaci a obcas je tam potreba udelat nejaky
symlink.
Kdyz jsem to testoval z jineho FreeBSD stroje, tak to vsechno fungovalo
jak ma. Zkousel jsem ty sftp accounty i z Windows, napriklad skrz
WinSCP. Vsechno funguje, symlinky jsou relativni jak maji byt.
Pak se ale jeden klient pripojil z Mac OS X skrz OpenSSH 6.1 klienta a k
udivu vsech se z neho symlinky vytvareji s absolutni cestou, coz je
problem, protoze ty sftp ucty jsou v chrootu a tak je vysledny symlink
neplatny.
Stejne chovani mam potvrzene i na uctech, ktere nejsou v chrootu a
stejne se chova i OpenSSH 6.2 z cygwinu.
Zkusil jsem na serveru v sshd_config zapnout DEBUG logovani a vysledek
je nasledujici:
Spravne chovani s OpenSSH 5.4
subsystem request for sftp
session opened for local user devel from [y.y.y.y]
received client version 3
realpath "."
symlink old "temp" new "/usr/home/devel/temp_symlink"
sent status Success
session closed for local user devel from [y.y.y.y]
Spatne chovani s OpenSSH 6.1 nebo 6.2
subsystem request for sftp
session opened for local user devel from [x.x.x.x]
received client version 3
realpath "."
opendir "/usr/home/devel"
sent status End of file
closedir "/usr/home/devel"
sent status Success
symlink old "/usr/home/devel/temp" new "/usr/home/devel/temp_symlink"
sent status Success
V obou pripadech se spousti jednoduchy shellscript:
echo "symlink temp temp_symlink
quit
" | sftp devel na x.x.x.x
(je to minimalizovana verze vetsiho scriptu, ktery se stara o cely
deployment)
Chovani je stejne s pouzitim sftp-server i internal-sftp (v sshd_config)
a je jedno, jestli je ucet chrootnuty, nebo ne - vzdy se vytvori
absolutni symlink, pokud je sftp klient novejsi, nez mnou pouzita 5.4
(nevim, od ktere verze presne)
Nesetkal jste se s tim nekdo? Nenapada vas, jak prinutit sftp z OpenSSH
6.2 k tomu, aby delal normalne relativni symlinky, tak jak je mu zadano?
Mirek
More information about the Users-l
mailing list