Вы находитесь на странице: 1из 3

VSFTPD en Centos - Servidor FTP con usuarios virtuales.

Este posteo es ms informativo que una gua, pongo los pasos que he realizado para montar un servidor FTP sobre Centos mediante vsftpd y con la caracterstica de los usuarios virtuales lo cual es mucho ms seguro que los normales. Podemos verificar si tenemos o no instalado vsftpd mediante: rpm -aq | grep vsftpd De no ser as, lo instalamos junto con un par de dependencias para la creacin de las bases de datos de usuarios como veremos ms adelante: yum -y install db4 db4-utils vsftpd A continuacin editamos el archivo /etc/vsftpd.conf. El contenido de este puede variar segn las caractersticas que queramos dar al servicio, pero este sera el contenido mnimo necesario para que funcione bien con usuarios virtuales: # Bloquear el acceso annimo anonymous_enable=NO # Permitir el acceso local, necesario para usuarios virtuales local_enable=YES # Permitir la escritura y la descarga de ficheros write_enable=YES download_enable=YES # Mscara de ficheros local_umask=022 # Restricciones annimas anon_upload_enable=NO anon_mkdir_write_enable=NO anon_world_readable_only=YES # Puerto de conexin connect_from_port_20=YES # Generar archivo log log_ftp_protocol=YES # Otras caractersticas listen=YES xferlog_std_format=YES pam_service_name=vsftpd.virtual userlist_enable=YES hide_ids=YES # Enjaulamiento de usuario chroot_local_user=YES # Usarios virtuales y ruta de acceso local_root=/home/ftpuser/pub virtual_use_local_privs=YES

guest_enable=YES Ahora necesitamos crear la base de datos de usuarios virtuales, para ello usamos Berkeley DB. Primero creamos un archivo de texto plano en /etc/vsftpd/ cd /etc/vsftpd vi usuariosftp.txt

este archivo llevar los nombres de usuarios y claves de acceso una por lnea, es decir si el usuario es andres y su clave andresclave y otro usuario andrea y de clave andreaclave, quedara as:
andres andresclave andrea andreaclave Generamos la base de datos: db_load -T -t hash -f usuariosftp.txt vsftpd_virtual_users.db chmod 600 vsftpd_virtual_users.db rm usuariosftp.txt Con el archivo vsftpd.conf mostrado arriba, todos los usuarios accedern a la misma ubicacin especificada por local_root=. Si en cambio deseamos que cada uno tenga su carpeta de usuario (y que no puedan moverse fuera de ella) entonces debemos hacer un par de cambios al archivo de configuracin.

Aadimos la opcin: user_sub_token=$USER y modificamos lo siguiente: local_root=/home/ftpuser/pub/$USER Por supuesto que la ruta madre de los usuarios puede ser la que queramos. Solo que suele ser recomendable colocarla en /home por motivos de seguridad ya que por ejemplo suele ser una particin dedicada. Ahora se crea un archivo PAM para use la base de datos de los usuarios (el nombre del archivo tiene que ser el mismo especificado en la opcin pam_service_name=) vi /etc/pam.d/vsftpd.virtual Con el contenido: #%PAM-1.0 auth account session required required required pam_userdb.so db=/etc/vsftpd/vsftpd_virutal_users pam_userdb.so db=/etc/vsftpd/vsftpd_virtual_users pam_loginuid.so

Creamos la ubicacin indicada en el archivo de configuracin: mkdir -p /home/ftpuser/pub/ chown -R ftp:ftp /home/ftpuser/ Por ltimo iniciamos el servicio y hacemos que se inicie siempre con el sistema: service vsftpd start chkconfig vsftpd on

Para monitorear el servicio se tiene el archivo /var/log/secure para el acceso de los usuarios, as como el log del servicio propiamente en /var/log/vsftpd.log tail -f /var/log/secure | grep vsftpd tail -f /var/log/vsftpd.log Y eso sera todo, podemos acceder al servidor desde los clientes mediante consola o grficamente con aplicaciones como FileZilla o la extensin de firefox FireFTP. Espero como siempre que sea de utilidad. Saludos!

Вам также может понравиться