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
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l