Este artículo describe cómo instalar y configurar un servidor vsFTPD en CentOS®, Red Hat® Enterprise Linux® (RHEL) y el sistema operativo Ubuntu®.
Instalar vsFTPD
Use los siguientes comandos en las diferentes distribuciones de Linux® para instalar un servidor vsFTPD:
CentOS y RHEL
yum -y install vsftpd
Sistema operativo Ubuntu
apt-get install vsftpd
El proceso de instalación genera un archivo de configuración. Para CentOS y RHEL, el archivo se llama /etc/vsftpd/vsftpd.conf y para el sistema operativo Ubuntu, el archivo se llama /etc/vsftpd.conf . Utilice las instrucciones de las siguientes secciones para configurar los ajustes en el archivo de configuración de vsFTPD.
Configurar vsFTPD
Abra el archivo de configuración vsFTPD en un editor de archivos o usando vi
y reemplace el contenido del archivo con las siguientes líneas:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=60000
pasv_max_port=65000
Si desea habilitar chroot jails, agregue las siguientes líneas al final del archivo de configuración:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
Debe crear una vsftp.chroot_list y coloque en él a los usuarios que no chrooted Todos los usuarios están chrooteados por defecto. Debe crear el archivo incluso si no tiene ningún usuario para ponerlo.
chroot_list_file=/etc/vsftpd.chroot_list
.
Si desea permitir que un usuario use listas de control de acceso a archivos (FACL) o establecer un permiso de grupo de forma predeterminada, agregue las siguientes líneas en la parte inferior del archivo de configuración:
file_open_mode=XXXX
local_umask=XXX
Aquí, puede cambiar file_open_mode
al 0775, 0664, etc. para satisfacer sus necesidades básicas de permisos. Es posible que no necesite combinarlo con umask, dependiendo de lo que quiera hacer.
Umask elimina los permisos de los archivos. Por ejemplo, un archivo con 777 se convierte en 755 con un umask de 022 (el predeterminado). Esto restringe el acceso por motivos de seguridad. Algunas personas establecen erróneamente el umask en 000, pensando que los archivos aparecerán como 777. Esta distinción es importante. Mientras que file_open_mode
le dice a vsFTPD los permisos predeterminados para usar, umask solo quita permisos, nunca puede otorgarlos.
Reiniciar y habilitar vsFTPD
Después de editar el archivo de configuración, debe reiniciar el servicio vsFTPD para que los cambios surtan efecto. Utilice el siguiente comando para reiniciar vsFTPD en CentOS, RHEL y el sistema operativo Ubuntu:
systemctl restart vsftpd
Después de que vsFTPD se reinicie, también debe configurarlo para que se inicie cuando se inicie el servidor. Utilice el siguiente comando para permitir que vsFTPD se inicie en el arranque en CentOS, RHEL y el sistema operativo Ubuntu:
systemctl enable vsftpd
Permitir vsFTPD a través del firewall
El paso final es permitir vsFTPD a través del firewall de su servidor usando los siguientes comandos en las diferentes distribuciones de Linux:
CentOS y RHEL
iptables -I RH-Firewall-1-INPUT -p tcp --dport 21 -m comment --comment "FTP" -j ACCEPT
iptables -I RH-Firewall-1-INPUT -p tcp -m multiport --dports 60000:65000 -m comment --comment "FTP passive mode ports" -j ACCEPT
/etc/init.d/iptables save
El sistema operativo Ubuntu
ufw allow 21
ufw allow proto tcp from any to any port 60000:65000