Chroot SFTP, noFTP, noSCP, noSSH
Miroslav Lachman
000.fbsd at quip.cz
Wed May 15 00:19:40 CEST 2019
Jozef Drahovsky wrote on 2019/05/14 23:53:
> Dňa 14.05.2019 o 21:33 Ivo Hazmuk napísal(a):
>
>> Ahoj,
>>
>> Dne 14.5.2019 v 19:38 Jozef Drahovsky napsal(a):
>>> ale nedari sa mi rozbehat uzivatela ktory, by mal len SFTP s chroot
>>
>> toto jsem řešil nedávno. Je to trochu opruz, ale jde to.
>>
>>
>>
>> 1) Nainstaluj si scponly shell a do /etc/shells přidej cestu k
>> scponly. Nejspíš "/usr/local/bin/scponly".
>>
> Nainstaloval som scponly a funguje u vsetkych userov ktorym som v
> passwd zmenil shell na /usr/local/bin/scponly
> Pokus o SSH ihned ukonci
> SFTP ide a aj proces ma ID z passwd daneho usera
>
> Ale chroot sa mi zatial rozbehnut nepodarilo
> aj som prekompiloval scponly aj zaskrtol ze chcem chroot
> aj sa vytovrilo okrem /usr/local/bin/scponly
> aj /usr/local/sbin/scponlyc a uviedol som ho v passwd
>
> Ked ho uvediem v passwd u daneho uzivatela tak sa neprihlasim a v logu
> je chybova hlaska
> "chroot dir not owned by root: /web/userxy"
>
> Zda sa mi, ze som nepochpil tvoju poznamku o nastaveni domovskeho adresara.
> Tam je viazane na uzivatela root a skupinu ftp?
> odkial berie adresu pre chroot z passwd alebo od inakadial?
Koukam, ze jsem ten svuj predchozi e-mail mel moc dlouho rozepsany a uz
jsi narazil...
Takze pro poradek jeste jednou - vsechny komponenty cesty k tomu
homediru musi byt vlastnene rootem a nesmi byt zapisovatelne jinym
uzivatelem / jinou skupinou. Tzn. nemuzes tam udelat treba chown
root:skupina1 a pak chmod g+w ... to ti hodi prave tu chybu, cos poslal.
Pokud mas v sshd_config napriklad tohle:
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
(a tady ty dalsi restikce)
Tak ChrootDirectory %h znamena, ze se za to %h doplni homedir toho
uzivatele, tak jak ho ma uvedeny v passwd.
Cilova cesta musi existovat a jak jsem psal, musi cela vcetne toho
homediru patrit rootovi!
Tam teprve udelas podslozku, kam bude uzivatel zapisovat a nahravat
svoje weby. Takze to muze byt treba takhle
Vytvoris si uzivatele "example.com", kteremu nastavis home
"/web/example.com"
mkdir -p /web/example.com/public/
chown root:wheel /web/
chown root:wheel /web/example.com/
chown example.com /web/example.com/public/
chmod 0755 /web/
chmod 0755 /web/example.com/
Do toho home "/web/example.com/" se provede SFTP chroot.
Po prihlaseni uzivatel uvidi slozku "public", kam nahraje obsah sveho webu.
V konfiguraci Apache VirtualHostu pak pouzijes DocumentRoot
/web/example.com/public
Pokud ma ten SFTP account slouzit k necemu jinemu, nez k publikaci webu,
tak tuhle cast o Apache muzes ignorovat. :)
Mirek
More information about the Users-l
mailing list