# apt-get install proftpd
Aparece una pantalla para elegir entre dos opciones, inetd o standalone, elegimos standalone.
Luego por razones de seguridad vamos a crear un shell false para el acceso de ftp para esto vamos a agregar una linea en el archivo /etc/shell:
#gedit sudo /etc/shells
Agregamos la siguiente línea al final del archivo:
/bin/false
Esto va a evitar que cualquier usuario que utilice el ftp puede acceder a nuestra consola de comandos.
Ahora creamos un directorio donde se guardarán los archivos a compartir en el ftp:
#cd /home
#mkdir FTP-public
Ahora vamos a crear un usuario para acceder al ftp:
#useradd nombreusuarioftp -p tu_password -d /home/FTP-public -s /bin/false
Nota:
-p para definir el password,
-d para definir cuál va a ser el directorio principal o home del usuario
-s para indicarle cual es el shell por defecto del usuario, para más información de este comando puedes colocar man useradd en la consola.
Ahora vamos a crear dos directorios más para separar los archivos de subida y bajada:
#mkdir /home/FTP-public/download
#mkdir /home/FTP-public/upload
Ahora tenemos que especificar los permisos de lectura y escritura para estos directorios:
#chmod 755 /home/FTP-public
#chmod 755 /home/FTP-public/download
#chmod 777 /home/FTP-public/upload
Ahora veamos el archivo de configuración del proftp que se encuentra en la ruta:
/etc/proftpd/proftpd.conf para esto ejecutamos:
sudo gedit /etc/proftpd/proftpd.conf
# Para aplicar los cambios tienes que reiniciar el servidor FTP
AllowOverwrite on
AuthAliasOnly on
# Escoge aqui un alias para tu usuario de FTP
UserAlias vensign userftp
ServerName "kate FTP"
ServerType standalone
DeferWelcome on
MultilineRFC2228 on
DefaultServer on
ShowSymlinks off
TimeoutNoTransfer 600
TimeoutStalled 100
TimeoutIdle 2200
DisplayFirstChdir .message
ListOptions "-l"
RequireValidShell off
TimeoutLogin 20
RootLogin off
# Aqui creamos los archivos de logs que son de mucha utilidad en caso de fallos
ExtendedLog /var/log/ftp.log
TransferLog /var/log/xferlog
SystemLog /var/log/syslog.log
#DenyFilter *.*/
# No vamos a utilizar el archivo /etc/ftpusers file
#(sirve para colocar adentro los usuarios que no queremos que se conecten)
UseFtpUsers off
# Permitir reiniciar una descarga (muy útil en caso de que se caiga la conexion)
AllowStoreRestart on
#El puerto 21 es el estandar para FTP,
#es bueno cambiarlo por razones de seguridad
#aqui elegi el 1980 puedes escoger el que quieras
Port 1980
# Coloca el usuario y el grupo al que el servidor normalmente funciona
User nobody
Group nogroup
# Umask 022 es un buen valor por defecto para evitar que nuevos archivos y directorios
# sean escribibles por todo el mundo o por el grupo.
Umask 022 022
PersistentPasswd off
MaxClients 8
MaxClientsPerHost 8
MaxClientsPerUser 8
MaxHostsPerUser 8
# Despliega un mensaje despues de que ingresa un usuario
AccessGrantMsg "Bienvenidos a kate !!!"
# Este mensaje es mostrado por cada intento de ingreso sea bueno o no
ServerIdent on "estas en kate"
# Coloca a /home/FTP-public como el directorio principal (home)
DefaultRoot /home/FTP-public
# Bloquea a todos los usuarios al directorio home que definimos
DefaultRoot ~
MaxLoginAttempts 5
#Ingresos validos solo permitimos a userftp
AllowUser userftp
DenyALL
#Definimos los permisos de los directorios que creamos para el FTP
Umask 022 022
AllowOverwrite off
DenyAll
Umask 022 022
AllowOverwrite off
DenyAll
Umask 022 022
AllowOverwrite on
DenyAll
AllowAll
Con este archivo de configuración tendrás un servidor FTP funcionando con el usuario kate (como alias de userftp) y con el password que colocaste, cuando creaste el usuario, además definimos como puerto de conexión 1980.
Reiniciamos el servidor:
# /etc/init.d/proftpd restart
Para conectarte desde un cliente FTP debes recordar colocar como puerto de conexión 1980 como lo definimos en el archivo de configuración.
0 comentarios:
Publicar un comentario