[eside-ghost] Instalar un servidor FTP en Linux

Eneko chan enekochan en gmail.com
Vie Mar 2 14:50:34 CET 2007


Bueno ya que tengo el manual de linux medio hecho voy a hacer un copy+paste
de lo que tengo sobre FTP. El que yo he usado ha sido vsftpd. No explico
nada de como instalarlo, solo de configurarlo etc...

Aqui empieza el copy+paste
----------------------------------------------------------------

*2.2.2- FTP**.*



El servidor de FTP *vsftpd* (acrónimo de Very Secure FTP Daemon) también
utiliza *xinetd* para ser arrancado, parado, etc... Los puertos que usa son
el TCP 20 (para datos) y 21 (para la consola de comandos). Sus archivos de
configuración son */etc/xinet.d/vsftpd* y */etc/vsftpd.conf*.



*2.2.2.1- Acceso anónimo**.*



Permitir la entrada únicamente al usuario anónimo con solo permisos de
lectura es la forma más segura de configurar un servidor FTP. La carpeta por
defecto a donde se da el acceso anónimo es */srv/ftp*.



Dentro del archivo de configuración */etc/vsftpd.conf* se encuentra una
sección donde se configura el usuario anónimo. Para darle acceso al servidor
hay que configurar la línea *anonymous_enable*:



# Anonymus FTP user Settings

anonymous_enable=YES



Si se desea dar permisos de escritura al usuario anónimo primero habrá que
habilitar la escritura en el servidor FTP, y después es recomendable crear
una carpeta nueva dentro de */srv/ftp*, darle los permisos de escritura
(777) a esta última y configurar así el archivo */etc/vsftpd.conf*:



# General Settings

write_enable=YES



...



# Anonymus FTP user Settings

anonymous_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_umask=022

anon_other_write_enable=YES



*2.2.2.2- Acceso a usuarios locales**.*



Para que los usuarios locales puedan acceder al servidor FTP pero no puedan
salir de su propia carpeta personal debe existir el fichero *
/etc/vsftpd.chroot_list* y que */etc/vsftpd.conf* contenga las siguientes
líneas:



# Local FTP user Settings

local_enable=YES

local_umask=022

chroot_local_users=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list



Los usuarios anotados en el fichero */etc/vsftpd.chroot_list* serán los que
podrán hacer *chroot* (subir de nivel), lo cual no es nada recomendable. A
no ser que sea absolutamente necesario, este fichero será mejor dejarlo
vacío.

 De esta forma los usuarios del sistema, definidos en el archivo *
/etc/passwd*, podrán acceder por FTP, pero quedarán "enjaulados" en su
carpeta personal. Para que varios usuarios accedan a la misma carpeta
mediante FTP solo es necesario que usen la misma carpeta personal en el
archivo */etc/passwd*.



alumno1:x:6688:100:alumnos:*/home/alumnos*:/bin/bash

alumno2:x:6689:100:alumnos:*/home/alumnos*:/bin/bash



Ahora surge un pequeño problema; tal vez queramos darle acceso a un usuario
por FTP pero no queremos dejarle hacer *login* al sistema mediante la
consola de comandos. Para ello cambiaremos la *shell* por defecto del
usuario en cuestión en el archivo */etc/passwd* a */bin/false*:



alumno1:x:6688:100:alumnos:/home/alumnos:*/bin/false*



También se puede configurar dicha *shell* (o cualquier otra) en el momento
de crear el usuario con la opción *-s*:



# useradd alumno1 -d /home/alumnos *-s /bin/false*



Para hacer justo lo contrario, es decir dejar hacer login pero no dejar
entrar por FTP a cierto usuario, añadiremos su nombre al archivo *
/etc/ftpusers*. Aquí se anotan los usuario que *NO* queremos que entren por
FTP.

-----------------------------------------------------------------

-- 
Fotolog: http://www.fotolog.net/ceng
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20070302/ee6ab72a/attachment.htm


Más información sobre la lista de distribución eside-ghost