Sziasztok. Debian 12-es alatt szeretnék beállítani SFTP-t, de számomra érthetetlen hibába futottam. Az alábbiakat csináltam eddig:
sudo groupadd sftpusers
sudo adduser csabacs
sudo usermod -G sftpusers csabacs
sudo micro /etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /srv/sftp/%u
ForceCommand internal-sftp
sudo systemctl restart ssh.service
sudo mkdir -p /srv/sftp/csabacs
sudo chown csabacs:sftpusers /srv/sftp/csabacs/
Ezek után ha csatlakozni akarok, akkor hibaüzenetet kapok a logban:
sshd[3501140]: fatal: bad ownership or modes for chroot directory "/srv/sftp/csabacs"
Viszont, ha a csabacs mappa tulajdonjogát root:sftpusers -re módosítom, akkor lehet már csatlakozni, de semmit nem tud másolni a mappába. Ha 775-ös chmodot adok neki, hogy az sftpusers is tudja írni, akkor meg szintén nem csatlakozik, mert az se jó jog neki.
Hogyan lehetne beállítani rendesen, hogy az adott user csak a saját mappájába tudjon csatlakozni (ez lenne elvileg az sshd_configban a /srv/sftp/%u), és oda tudjon másolni fileokat, létrehozni könyvtárakat, meg törölni is onnan?
Megoldás: "a chroot konyvtar ala tegyel egy konyvtarat, ami a sajatja, akkor tudni fog bele irni"
Hozzászólások
a chroot konyvtar ala tegyel egy konyvtarat, ami a sajatja, akkor tudni fog bele irni
neked aztan fura humorod van...
Nah várj. Jól értem, hogy akkor abba a mappába amibe ő beloggol (ami ki van osztva), oda soha nem tud írni, hanem csinálni kell azalá még egy mappát csabacs:sftpusers joggal, és oda neki mindig bele kell majd lépnie, és majd oda már tud írni?
Ennek mi értelme van? Ha megnézek egy sima FTP elérést, akkor ahova már belépek, már ott rögtön abban a mappába már másolhatok fileokat, mappákat stb.
tehat
chown 0:0 /srv/sftp/csabacs
chmod 755 /srv/sftp/csabacs
chown csabacs:sftpusers /srv/sftp/csabacs/ideirj
chmod 755 /srv/sftp/csabacs/ideirj
neked aztan fura humorod van...
"Ha megnézek egy sima FTP elérést, akkor ahova már belépek, már ott rögtön abban a mappába már másolhatok fileokat, mappákat stb."
akkor nem ssh/internal-sftp-vel kell megoldanod, hanem egy masik sftp szerverrel
neked aztan fura humorod van...
Értem. Akkor ez annak a "limitációja". Amúgy valóban így működik, csak erre nem gondoltam, mert ez nem éppen egy logikus megoldás. Köszi az infót!
proftpd-t hasznalok, igaz nem sftp-t hanem ftps-t ott mukodik amit irsz, de lehet hogy a DefaultRoot nem igazi chroot, passz.
neked aztan fura humorod van...
Igen azt ismerem, legalábbis hallásból, csak gondoltam nem teszek fel plusz csomagokat, hanem az alap openssh csomaggal oldanám meg, ha az úgyis alapból fent van. Hát. Lehet hogy átállok majd arra.
ez a valasztek. vagy plusz csomag, vagy plusz konyvtar. :)
neked aztan fura humorod van...
ahogy írták, igen, a
/srv/sftp/csabacs
könyvtár tulajdonosának rootnak kell lennie, és nem szabad írható engedélyeket adni más felhasználóknak, mivel a chroot biztonsági követelményei ezt megkövetelik. hozz létre egy alkönyvtárat, melynek ő a tulajdonosa, oda már írhat4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.
Fura egy logika, de ha így működik, akkor így működik. Köszi neked is.