FTP szerver virtuális felhasználókkal

 ( MysteryKe | 2016. december 31., szombat - 11:22 )

Sziasztok!

Pár hónapja vettem itthonra egy Banana Pi gépet, amit Raspbian rendszerrel használok. Szeretnék virtuális felhasználókat beállítani rá. Sokat böngésztem már a netet, XI. századi menüvezérelt emberbarát konfigurációs kezelőfelület után, de nem sok sikerrel. Erre valóban nem született megoldás az elmúlt 25 évben? Mert rendre csak olyan megoldásokat találok, hogy hozzak létre KÉZZEL (mintha megrekedtünk volna a múlt században!) külön a felhasználókat tároló konfigurációs fájlt, megint külön fájlt, amiben tárolom a jelszavaikat, majd hozzak létre SQL fájlt, amit importálgassak be az adatbázisba, majd kell központi ftp user a rendszerben, majd szerkesztgessem a vsftpd/pureftpd/proftpd szerverek konfigurációs fájljait és azon belül is legalább kilencszáz helyen, majd állítgassam be a könyvtárak jogosultságait és tulajdonosi beállításait és disztribúciónkét és csomagfüggőségenként más-más hibalehetőség fordulhat elő......... de tényleg....! Csak most merült fel egyedi konfigurációjú FTP szerver igénye számomra! Régen imádtam linux szervereket barkácsolni magán célra, nem vagyok lusta típus. De erre tényleg nem született egy gyorsabb és kevésbé idegörlő megoldás? Van telepítve egy Webmin, ami látja a telepített ProFTPd-t, de sok egyszerűbb beálítási lehetőséget nem ad sajnos. Konkrétan az most a bajom, hogy találtam olyan megoldást, ami autentikációs fájlokat használ erre a célra, meg olyat is, ami az sql-mod-ot, de mindegyik csak azt mutatja be, hogy hogyan lehet root mappát beállítani az adott felhasználóknak. DE nekem olyan megoldásra lenne szükségem, ami lehetővé teszi azt, hogy a virtuális felhasználók több mappát is láthathassanak. Konkrétan legalább kettőt: az egyikben van írási és olvasási joguk, a másik pedig egy olyan mappa lenne, amit majdnem mindegyik felhasználó látna, de csak olvasási jogosultságuk lenne arra. A WinFTP-ben anno ezeket tök egyszerűen meg lehetett csinálni helyi felhasználói fiókok létrehozása nélkül, de windows-t már sok éve nem használok. A linuxos szervereimet is mindig parancssori módban használtam, imádtam konfigurálni a különböző szolgáltatásokat, de az ftp konfig valahogy mindigis kiborított ezen hülyeségei miatt. Nincsen erre valami univerzális szkript/menüvezérelt parancssori alkalmazás (mint a YaST a SuSE-ban?) a legnépszerűbb disztrókra és ftp-szerverekhez?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ha egyszeru konfiguralhatosagot akarsz, tedd fel a ProFTPd-t, van ra egy zsak usermanagement backend. Szemely szerint egyebkent az a velemenyem, hogy az FTP protokollnak a tortenelem szemetdombjan a helye. Annyi tervezesi gyengeseg van benne hogy faj.

--
Pásztor János
Sole Proprietor @ Opsbears | Development Lead @ IXOLIT | Refaktor Magazin | Refactor Zone

Köszi, hogy nem oltasz le emiatt :) Egyedül az FTP konfigurálást próbáltam kerülni eddig mint a tüzet, de most már elkerülhetetlen sajnos. Tudsz egy ilyen backendet ajánlani?

Nagyon szivesen. :)

Attol fugg, hany felhasznalora lesz. Ha csak par, akkor a file backend megteszi, egyebkent autentikalhatsz MySQL-bol vagy LDAP-bol.

--
Pásztor János
Sole Proprietor @ Opsbears | Development Lead @ IXOLIT | Refaktor Magazin | Refactor Zone

Köszönöm szépen :) és ez fogja támogatni azt, hogy egy-egy felhasználó a root mappájából lássa a számára létrehozott mappát, amiben azt csinál, amit csak akar és lásson egy másik mappát is, amit több más felhasználó is láthat, de azt viszont csak olvashatóként? A MySQL-es autentikáció lenne számomra a legegyszerűbb megoldás. 'File Backend'? Ez a neve pontosan?

szerk.: Ugyanakkor legyen lehetőség egy felhasználónak írnia is abba a könyvtárba, amit a többi felhasználó csak olvashatóként lát. (csak adott felhasználók láthatnák azt a könyvtárat)
Max. 5-6 felhasználója lenne a szervernek.

Igen, tudod chrootolni a usereket, igeny szerint. Read/write jogosultsagokra klasszikus unix permissionokkel van lehetoseg, illetve bind mounttal is eleg sok mindent meg tudsz oldani. Dokumentacio gyanant ezt javaslom: http://www.proftpd.org/docs/howto/index.html

--
Pásztor János
Sole Proprietor @ Opsbears | Development Lead @ IXOLIT | Refaktor Magazin | Refactor Zone

Nem szeretnék az FTP protokoll élharcosa lenni, de azért azt gondolom, hogy az a kijelentés, hogy "annyi tervezési gyengeség van benne", már erősen vitatható. A titkosítatlanság mint probléma nem egyedül az ftp esetén merül fel - azonban amiatt, hogy az ftp két csatornát is nyit és a második csatorna paramétereit az első csatornán egyezteti a két fél, a tűzfalak feladatait ez jelentősen megnehezíti, arról nem is beszélve, hogy ilyenkor kérdésként az is felmerül, hogy melyik csatorna kerüljön titkosításra - és persze hogyan... (Hogy érthető legyen a kérdés felvetés: futottam rá olyan konfigra, ahol csak az adat csatorna volt titkosítva...) Ugyanakkor a két csatornás kapcsolatnak előnyei is vannak:
- tegyük fel, hogy A site-ról B site-ra szeretnénk átmásolni több nagy file-t. Erre a "klasszikus" módszer, hogy C gépről belépve A-ra letöltjük az állományokat, majd feltöltjük B gépre. Csakhogy ha C gép sávszélessége kicsi, akkor ez nem a legkellemesebb megoldás. Viszont maga a protokoll megengedi, hogy C gép kontroll kapcsolatot húzzon egy időben A és B gép felé, majd úgy történjen meg az adat csatorna egyeztetése, hogy az közvetlenül A és B gépek között épüljön fel. Ekkor az állományok C gépről vezérelve közvetlenül kerülnek át A gépről B gépre. Melyik másik protokoll tud ilyet? És oké, hogy napjainkban informatikával foglalkozók igyekeznek megoldani maguknak egy "kellemes" sávszélességet, de azért mostanság sem mindenhol van több megás internet elérés. No persze azért ez sem ennyire egyszerű, mert ha a kliens oldalon ez nem támogatott opció, akkor hiába tudja a protokoll...
- a külön parancs csatorna előnye az is, hogy miközben az adat csatornán közlekedik az adat, ezzel párhuzamosan utasítás küldhető a túloldalnak. Ha pl. meg akarjuk szakítani az átvitelt, akkor a "STOP" parancsnak nem kell megvárnia, hogy a korábban már a pufferbe került adatok elküldésre kerüljenek, hanem külön csatornán, az adatokat "előzve" átérjen a túloldalra. Ahol nincs külön adat csatorna, ott egy ilyen trükk nem lehetséges.

A tűzfalak kapcsán pedig az kell mondjam, hogy az ftp szerverek is igyekeznek "támogatni" a tűzfalazást. Ha a szerver nyitja a kliens felé az adat-kapcsolatot, akkor azt napjainkban már az "ftp-data", azaz a 20/tcp portról nyitja - tehát egy aktív módú adat kapcsolatot a tűzfal ki tud engedni úgy, hogy azt nézi, hogy a kapcsolat az ftp szerver IP címéről és a 20/tcp portról jön. (Ezt mondjuk a másik oldalon beengedni lesz nehezebb, illetve ott a conntrack hiánya miatt a "hova is kell betolni" kérdésköre miatt lesz közel lehetetlen a küldetés.) A másik konfigurálható opció az ftp szerveren, a passive port range - ha ezt nem hagyjuk százezres nagyságrenden, hanem maximum 10 portra redukáljuk, akkor a túl sok portot kell beengedni kérdéskörét is elfogadható mértékűre redukáltuk.

Egyébként lehet érdemes lenne egy szavazást is indítani annak kapcsán, hogy ki mennyire hisz abban, hogy a hálózaton titkosítatlanul utazó jelszavát útközben "lelopják"? A lehetősége nyilván adott, de szerintem egy ftp jelszót az esetek nagy többségében nem ilyen módon lopnak el, hanem a megfelelő kémprogram kotorja elő a gépen tárolt jelszót és küldi el a gyűjtögetőnek.

Bocsánat, hogy a téma tekintetében off-topic voltam. Hogy on-topic is legyen a hozzászólásban:
Napjainkban meglehetőst sok csili-vili gui van és az ftp szerverek is egyre rugalmasabban konfigurálhatóak virtuális userek tekintetében. Bár egy phpldapadmin kicsit ágyúval verébre esete, de egy LDAP backend simán használható az ftp szerverhez, a phpldapadmin meg kellően rugalmasan konfigurálható ahhoz, hogy egy új user felvétele, meglévő user módosítása vagy törlése ne legyen probléma a webes felületén. Persze ehhez meg kell webszerver, php, ldap... De hát ugye valamit valamiért! :-)

Én még nem láttam neten kintlévő szervert ahol az FXP ment volna, ne lett volna tiltva.

pureftpd mysql-el egeszen jo tud lenni, vannak hozza kozepesen szar webes feluletek ahol lehet szerkeszteni, hozzaadni usereket, de konzolra is konnyen irhato ra egyszeru script, amivel felhasznalokat hozhatsz letre
____________________
http://szoftvervasarlas.co.hu - szoftverek legjobb áron