Crear cuentas ftp para acceder a ciertas carpetas nos ayudara a proteger archivos privados.
Primero instalamos el servidor ftp
yum install vsftpd
Luego de instalar debemos considerar los nuevos comandos para manejar los servicios en la versión 7 de CentOS.
Para activar el arranque desde el inicio del sistema
systemctl enable vsftpd.service
Para desactivar
systemctl disable vsftpd.service
Para iniciar
systemctl start vsftpd.service
Para detener
systemctl stop vsftpd.service
Para reiniciar
systemctl restart vsftpd.service
Si tenemos el firewall activados, debemos habilitar el puerto
firewall-cmd --permanent --add-service=ftp
Y reiniciamos nuestro firewall
systemctl restart firewalld.service
Luego configuramos el servidor ftp ingresando a:
nano /etc/vsftpd/vsftpd.conf
Y modificamos los siguientes parametros: (estos puntos son gracias al blog https://rootear.com/ubuntu-linux/instalar-servidor-ftp )
listen = YES : Para que se inicie con el sistema.
anonymous_enable = NO : No permitimos que usuarios anónimos puedan conectarse a nuestro servidor. Es por seguridad.
local_enable = YES : Para poder conectarse con los usuarios locales del servidor donde está instalado.
write_enable = YES : Si quieres que los usuarios puedan escribir y no sólo descargar cosas.
local_umask = 022 : Esta máscara hace que cada vez que subas un archivo, sus permisos sean 755. Es lo más típico en servidores FTP.
chroot_local_user = YES
chroot_list_enable = YES : Sirven para que los usuarios locales puedan navegar por todo el árbol de directorios del servidor. Evidentemente esto sólo queremos permitírselo a ciertos usuarios, para ello tenemos el siguiente parámetro.
chroot_list_file = /etc/vsftpd/chroot_list : Indicamos el fichero donde están listados los usuarios que pueden navegar hacía arriba por los directorios del servidor, lo normal es que sea el administrador del servidor.
Comentamos la línea:
# Listen_ipv6 = YES
Grabamos y salimos. Adicionalmente agregamos una linea mas a nuestro archivo de configuración:
echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf
Luego creamos un grupo
groupadd ftp
Creamos un shell fantasma
mkdir /bin/ftp
Editamos el shell del sistema
nano /etc/shells
y agregamos en la última linea
/bin/ftp
Grabamos y salimos. Ahora crearemos un usuario:
sudo useradd -g ftp -d /ruta_carpeta_destino -c "Nombre del Usuario" nombre_usuario
Le asignamos una clave
sudo passwd usuarioftp
Buscamos a nuestro usuario recien creado en:
nano /etc/passwd
Copiamos (CTRL+C) la linea de nuestro usuario parecida a:
usuario:x:1004:118:Nombre del Usuario:/ruta_carpeta_destino:/bin/ftp
Y lo pegamos con un clic en:
nano /etc/vsftpd/chroot_list
NOTA: Si chroot_list no existe debemos crearlo
Finalmente reiniciamos y listo!
systemctl restart vsftpd.service
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.