VsFTP
VSFTP: Dades
#
Instal·lació del servei
#
sudo apt-get install vsftpd
Fitxer de configuració
#
/etc/vsftpd.conf
Logs
#
/var/log/vsftpd.log
Gestió del servei
#
/etc/init.d/vsftpd {start|stop|restart|status}
service vsftpd {start|stop|restart|status}
{start|stop|restart|status} vsftpd
Configuració Anonymous:
#
- usuari per defecte: FTP (usuari anonymous)
- No té password
- Directori per defecte /srv/ftp
cat /etc/passwd | grep ftp
- Per modificar-lo assignant una nova home a l'usuari
sudo usermod -d NOVA_HOME ftp
Directives
#
Directives bàsiques
#
Directiva |
valor |
anonymous_enable = YES/NO |
permetre l'usuari anònim o no. |
local_enable= YES/NO |
permetre usuaris autenticats o no. |
anon_upload_enable =YES/NO |
permetre pujar fitxers als usuaris anònims (requereixen que write_enable estigui activat). |
write_enable = YES/NO |
permetre pujar fitxers o no als usuaris. |
anon_mkdir_write_enable = YES/NO |
permetre a l'usuari anònim crear directoris |
ftpd_banner=Benvingut al meu servidor |
posar una cadena de benvinguda que apareixerà en connectar-se al servidor. |
Directives límits
#
Directiva |
valor |
anon_max_rate=10240 |
limitar l'ample de banda de l'usuari anònim a 10 KB/s. |
local_max_rate=10240 |
limitar l'ample de banda dels usuaris a 10 KB/s. |
max_clients=3 |
limitar a 3 el nombre de clients totals (des de qualsevol ip) que es poden connectar. |
max_per_ip=3 |
limitar a 3 el nombre de sessions obertes des d'una adreça IP concreta. |
Gàbies
#
Directiva |
valor |
chroot_local_user = YES /NO |
fer o no que tots els usuaris autenticats estiguin engabiats. |
chroot_list_enable=YES /NO |
indicar si hi ha una llista d'usuaris que són excepcions a chroot_local_user. |
chroot_list_file= /etc/vsftpd.chroot_list |
indicar on es troba el fitxer de la llista de control d'usuaris excepcions. |
Altres
#
Directiva |
valor |
local_umask |
màscara de permisos-inversos amb els que es pujaran els fitxers els usuaris locals |
anon_umask |
màscara de permisos-inversos amb els que es pujaran els fitxers de l'usuari anonymous |
: Directives bàsiques del fitxer vsftpd.conf
Directives Mode passiu
#
- Configurar el mode passiu (recordeu que al firewall del servidor s'hauria d'obrir el rang de ports que determinem amb pasv_min_port i pasv_max_port). Poseu un rang curt per assegurar-se quins ports s'obren, per exemple de 1025 fins a 1027. Proveu a descarregar sense mode passiu (el servidor obre port 20 per connectar-se al client) i amb mode passiu (el servidor obre un port en mode LISTEN del rang definit):
Directiva |
valor |
pasv_enable= YES/NO |
permetre o no mode passiu quan el client el demani. Per defecte és YES. |
pasv_min_port=num |
Número de port mínim a fer servir |
pasv_max_port=num |
Número de port màxim a fer servir |
: Directives relacionades amb el mètode passiu/actiu fitxer vsftpd.conf
- Per comprovar en temps real els ports que s'obren quan es fan connexions des dels clients, obrim una consola al servidor i escrivim:
sudo watch "netstat -atunp | grep vsftpd"
- Si no fem servir el watch, haurem de tornar a escriure "netstat" cada vegada que vulguem veure els ports oberts.
- Des del client, forcem el mode passiu amb la comanda "passive" del client FTP.
- Si us fixeu en el client gràfic Filezilla, entre les comandes que apareixen a la finestra superior, veurem que força el mode passiu d'entrada. Això és pot canviar en la configuració de preferències del client.
Errors coneguts
#
- Error 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
roger@roger-desktop:~$ ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:roger): anonymous
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.
ftp>
- SOLUCIÓ: Haurem de de crear una carpeta dintre els directoris personals de tots els usuaris engabiats. Un cop fet, no s'ha de poder escriure a la carpeta arrel (root) del seu directori personal però si a la carpeta on volem permetre pujar fitxers.
Per exemple, per l'usuari "pep", que te el directori personal a /home/pep caldrà crear una carpeta /home/pep/ftp (aquí s'ha de tenir drets d'escriptura) i treure-li drets d'escriptura a /home/pep.