Vsftpd kasutamine Debian Lennyga
Sisukord
Sissejuhatus
vsftpd http://vsftpd.beasts.org/ on eeskujulik ftp serveri tarkvara.
Tarkvara paigaldamine
Debian Lenny paketihaldus sisaldab vsftp tarkvara v. 2.0.7 ja paigaldamiseks sobib öelda
# apt-get install vsftpd
Tarkvara paigaldamise käigus lisatakse süsteemi kasutaja ftp, kes kuulub gruppi nogroup.
Debiani pakett sisaldab SSL/TLS tuge.
Serveri seisukohast ei ole see oluline, aga praktiliselt ehk on katsetamiseks abiks ka paigaldada ftp serverisse ftp klient, operatsioonisüsteem Debian vaikimisi ei sisalda ftp kliendi, paigaldamiseks sobib öelda nt
# apt-get install ftp
vsftpd serveri seadistamise võimalused
vsftpd serverit saab käivitada
- inetd superserveri abil
- iseseisva deemonina
vsftpd kasutajad jagunevad kolme gruppi
- anonüümne kasutaja
- lokaalsed kasutajad - operatsioonisüsteemi NSS süsteemile teadaolevad kasutajad, nt need, mis esinevad 'getent passwd' väljundid
- virtuaalsed kasutajad - kasutajad, mis on olemas tänu /etc/pam.d/vsftpd mooduli abil välise kasutajate andmebaasi ühendusele, nt LDAP kataloog ja mis samal ajal puuduvad NSS süsteemist
Lokaalsete ja virtuaalsete kasutajate puhul tuleb tähele panna, et kui sama LDAP kataloogi vastu on seadistatud käima nii NSS kui /etc/pam.d/vsftpd, siis muidu virtuaalsed kasutajad on lokaalsed.
Üks oluline virtuaalsete ja lokaalsete kasutajate erinevus seisneb selles, milline on kasutaja kodukataloogi nimi
- virtuaalsetel kasutajatel saab kodukataloogiks seadistada /katalooginimi/virtuaalse-kasutaja-nimi kujul esineva katalooginime
- lokaalsetel kasutajatel on kodukataloogiks /etc/passwd failis näidatud kodukataloog või kui NSS on seadistatud vastu LDAP'i siis nt homeDirectory atribuudi väärtus
Anonüümse vsftpd serveri seadistamine
Vaikimisi vsftpd seadistusfail /etc/vsftpd.conf vastab anonüümse ligipääsuga ftp serverile, st ftp server on selliste omadustega
- serverist saavad kopeerida andmeid anonüümsed kasutajad (sisselogimiseks tuleb traditsiooniliselt sisestada kasutajanimi ftp ning parooliks kirjutada oma eposti aadress või niisama enteriga mööda minna)
- vaikimisi serveeritakse faile üle ftp protokolli ftp kasutaja kodukataloogist /home/ftp
- lokaalne ega virtuaalne kasutaja ei saa sisse logida
# egrep -v "^$|^#" vsftpd.conf listen=YES anonymous_enable=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES secure_chroot_dir=/var/run/vsftpd pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/vsftpd.pem
Kataloogi saab muuta muutes /etc/passwd failis ftp kasutaja kodukataloogi asukohta.
Logi tekib faili
# cat /var/log/vsftpd.log Fri Jul 31 19:49:04 2009 [pid 24044] CONNECT: Client "127.0.0.1" Fri Jul 31 19:49:06 2009 [pid 24043] [ftp] OK LOGIN: Client "127.0.0.1", anon password "?"
Virtuaalsete kasutajatega vsftpd serveri seadistamine
Virtuaalseteks vsftpd kasutajateks nimetatakse selliseid kasutajaid, mida pole kirjeldatud ftp serveri /etc/passwd failis, õigemini, mida ei tea NSS teenus, aga mis esinevad nt /etc/pam.d/vsftpd kaudu kättesaadavaks tehtud andmebaasis, nt LDAP kataloogis.
Olgu eesmärgiks selliste omadustega vsftpd serveri seadistamine
- sisse logida saavad virtuaalsed kasutajad, nt LDAP kataloogist
- sisselogitud kasutaja saab toimetada oma kodukataloogis
- sisselogitud kasutaja saab faile serverisse kopeerida
- anonüümne kasutaja ei saa serverisse sisse logida
Nt selline seadistusfail sobib eesmärgi täitmiseks
# egrep -v "^$|^#" vsftpd.conf listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 anon_mkdir_write_enable=NO anon_other_write_enable=NO dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd pam_service_name=vsftpd virtual_use_local_privs=YES
kusjuures tarvilik on sobiv LDAP kataloogi ja selle kataloogi kliendiks olemise seadistus, mida on kirjeldatud palas OpenLDAP kasutamine Debianiga ning lisaks sellise sisuga /etc/pam.d/vsftpd seadistusfail
# cat /etc/pam.d/vsftpd auth required pam_ldap.so account required pam_ldap.so
Mitme vsftpd serveri kasutamine ühes arvutis
TODO
SSL/TLS vsftpd serveri seadistamine
TODO