( bsh | 2008. 09. 06., szo – 19:43 )

/etc/vsftpd.conf -ba ez legyen: (ez a saját config fájlom, a lényeget kiemelem) (nálam daemonként fut)

listen=YES
#listen_ipv6=YES
anonymous_enable=NO ; anonymous ki
local_enable=YES ; helyi user beléphet (aki majd később meg lesz adva, hogy kiket is jelent)
write_enable=YES ; tudjon már írni is...
local_umask=002
anon_upload_enable=NO ; anonymous upload ki
#anon_mkdir_write_enable=YES ; ez alapból NO, ezért hagytam kikommentezve, de meg is adhatod NO-nak, ha úgy jobban tetszik
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Welcome to DUFFBEER FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_local_user=YES ; local userek csak a home könyvtárstruktúrájukat érjék el, ne tudjanak máshová lépkedni...
chroot_list_enable=YES ; ...kivéve azokat a felhasználókat...
chroot_list_file=/etc/vsftpd.chroot_list ; ...akik ebben a fájlban fel vannak sorolva
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
userlist_enable=YES ; csak azon felhasználók léphetnek be az ftp szerverre, akik ebben a fájlban fel vannak sorolva (fájl: alapértelmezésben /etc/vsftpd.user_list)
userlist_deny=NO ; alapból az userlist-ben lévő felhasználók TILTVA vannak, ezzel a kapcsolóval én megfordítom az értelmezést, azaz csak a userlistben lévő felhasználók lesznek engedélyezve
max_per_ip=10
hide_ids=YES
use_localtime=YES
max_login_fails=3
delay_failed_login=5
#az alábbiak passzív módhoz kellenek, ha azt is akarsz
pasv_enable=YES ; passzív mód engedélyezése
pasv_promiscuous=YES ; passzív ip cím eredet viszgálat
pasv_min_port=30000 ; passzív módban használt data port -tól...
pasv_max_port=30099 ; ...-ig
pasv_addr_resolve=YES ; ez akkor jó, ha nat (router) mögött vagy
pasv_address=valami.dyndyns-host.cim ; érdemes dyndns hostot használni az ip feloldáshoz

én csak 1-2 havernak csináltam logint és egy "általános" login is van (de nem anonymous), szóval én egyszerűen helyi felhasználókkal dolgozom.

további teendők: (emlékezetből, de tévedhetek is)

1, hozz létre egy ftp felhasználóknak szánt csoportot (pl.: ftp, vsftp, ftpuser, vagy ilyesmi)

2, a usernek hozz létre egy home könyvtárat bárhol. a tulajdonos legyen root, a csoport a fenti ftp user csoport, és 770 jogok, azaz az ftp user csoport tudja módosítani)

3, hozz létre egy unprivileged usert (de lehet akármilyen user is, akár desktop user vagy admin user is, például a saját meglévő usered is lehet, de biztonságosabb, ha unprivileged), a fenti home könyvtárral és a fenti fő csoporttal. adj meg neki jelszót (ez lesz az ftp jelszava). a jelszót ne lehessen megváltoztatni. (az unprivileged user bár helyi user lesz, de nem tud belépni desktopra, csak és kizárólag ftp-zni tud majd)

4, ha több felhasználót is akarsz, akkor repeat 2 és 3

5, hozz létre root-ként egy vsftpd.user_list fájlt az /etc-ben, és írd bele azokat a felhasználóneveket, akiknek engedélyezni akarod az ftp használatot. pl:
ftpuser1
ftpuser2
duffbeer
szomszedpistike

6, hozz létre root-ként egy vsftpd.chroot_list fájlt az /etc-ben, és írd bele azokat a felhasználókat, akik NEM LESZNEK a saját könyvtárukba zárva. tehát ha pl. ftpuser1, ftpuser2 és szomszedpistike csak a saját könyvtárukban turkálhatnak, de duffbeer viszont a teljes fájlrendszerhez hozzá tudjon férni, akkor ftpuser1-et, ftpuser2-t és szomszedpistiket NEM kell felvenni, mert alapból minden user chroot-olva lesz, itt csak a kivételt, azaz duffbeer-t kell felvenned:
duffbeer

7, ha kívülről (netről) is el akarod érni a szervert, akkor a routeren forwardold a 20, 21 -es portokat a szerver felé, valamint ha passzív módot is akarsz (a fenti konfigban az is van), akkor a passzív port range-et is forwardolni kell (a példában 30000-30099 portok). ha tűzfalad is van, akkor nyilván azon is meg kell adni a portszabályokat. valamint netes elérés esetén érdemes egy ingyenes dyndns domain nevet regisztrálni, és ezt ddclient-tel automatikusan frissítgetni az aktuális ip címeddel.

8, sudo /etc/init.d/vsftpd restart

9, a "desktopra éppen bejelentkezett" felhasználót is add hozzá a ftp user csoporthoz, így majd ő is tudja módosítani a többi user könyvtárát.