Ahoj,
Dne 15.5.2019 v 0:01 Miroslav Lachman napsal(a):
Ivo Hazmuk wrote on 2019/05/14 21:33:
Horší je to s povolením SFTP s chrootem.
1) Nainstaluj si scponly shell a do /etc/shells přidej cestu k
scponly. Nejspíš "/usr/local/bin/scponly".
scponly neni potreba pro chrootovane SFTP. To zajistuje samotne openssh
tim "internal-sftp" a jako shell se pouzije /usr/bin/false
díky za doplnění.
2) V /etc/group musíš mít skupinu "ftp":
ftp:*:14:
Tohle mi prijde dost matouci - zakazat uzivateli FTP v /etc/ftpusers a
pritom ho mit ve skupine ftp.
Ja bych si tu skupinu pojmenoval treba "sftponly"
já řeším přechod z FTP a SFTP, kdy mám některé uživatele používající FTP
a chci je přesunout na SFTP. A bohužel občas musím zpět na FTP (jeden
slovenský úřad, který nesmí použít Filezillu nebo něco podobného). A
odtud jsem bral kusy konfigurace.
3) V /etc/master.passwd potřebuješ:
ftp-user:tady=je=hash=hesla:1246:14::0:0:temporary FTP
account:/ftp/ftp-user:/usr/local/bin/scponly
Kdyz uz se resi prechod z FTP na SFTP, tak bych doporucil pouzit SSH
klice a ne hesla.
Opět řeším, že za sebou táhnu historický balast, který se špatně
opouští. A vzdělávat smluvní partnery není jednoduché. Jinak souhlas.
Bud globalne, nebo v sekci Match nastavit
PasswordAuthentication no
ChallengeResponseAuthentication no
YMMV
5) Musíš nastavit správně domovský adresář:
mkdir /ftp/ftp-user
cd /ftp
chown root:ftp ftp-user
cd ftp-user
mkdir files
chown ftp-user files
Tady by bylo asi dobre zminit, co a proc se nastavuje.
Vsechny komponenty cesty k cilovemu domovskemu adresari musi byt
vlastnene rootem a nesmi byt zapisovatelne nikym jinym. (viz man
sshd_config, sekce ChrootDirectory)
Teprve podslozky toho home mohou byt vlastnene a zapisovatelne tim
uzivatelem, co se tam hlasi. Coz pro nektere uzivatele muze byt dost
matouci, ze nemohou zapsat do vlastniho homediru. To je holt dan za ten
sftp chroot.
Tzn. /ftp/ i /ftp/ftp-user/ - pokud nekdo nekdy zmeni nastaveni,
napriklad ze povoli zapis nejakou jinou skupinou, tak to prestane
fungovat a prihlaseni na ten sftp only ucet nepujde.
Práva mám potom takto:
stroj: # pwd
/ftp
stroj: # ls -lRa ftp-user
total 6
drwxr-x--x 3 root ftp 512 Oct 25 2018 .
drwxr-xr-x 7 root wheel 512 May 13 14:52 ..
drwxrwxrwx 2 ftp-user ftp 512 Apr 19 13:47 files
ftp-user/files:
total 4
drwxrwxrwx 2 ftp9 ftp 512 Apr 19 13:47 .
drwxr-x--x 3 root ftp 512 Oct 25 2018 ..
Pak bych tam pridal adresar /ftp/ftp-user/.ssh/ kam se pak vlozi
authorized_keys, aby se uzivatel mohl prihlasovat klicem a ne heslem.
A stoji jeste ze zvazeni, jestli chces nechat uzivatele, aby si sami
spravovali klice, nebo ne.
Pokud bys jim to nechtel povolit, tak slozka /ftp/ftp-user/.ssh/ muze
patrit taky rootovi a nepovolit tam nikomu jinemu zapis, pak vlozit
klice /ftp/ftp-user/.ssh/authorized_keys a je to.
Díky za pěkné doplnění.
I.
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l