La configuración de un ftp es cosa fácil, pero debemos estar atentos por la seguridad del sistema.
Lo primero será añadir el usuario ftp
, que en Debian se ha creado; pero
deberíamos repasar como está, en RedHat también aparece, pero en SlackWare
no se crea. Para ello editaremos el archivo /etc/passwd
y
miraremos si tenemos una línea parecida a esta:
ftp:*:100:101::/home/ftp:/bin/false
Si no fuera así, la crearíamos.
ftp
: sería el nombre de usuario. (Fíjese que siempre es ftp
,
sin distinción del nombre del servidor de ftp --- wu-ftpd en nuestro caso ---
).
*
: Anulamos la capacidad de acceso shell al sistema del usuario
ftp
. Como el demonio ftp necesita una, le pondremos una falsa, de
este modo el acceso al sistema como usuario ftp queda estrictamente
limitada a la función de ejecutar el demonio.
100
: UID de usuario, puede variar.101
: Grupo del usuario, que es variable también.
/home/ftp
: Este es el directorio raíz del ftp para el
usuario anonymous
. Si en este campo apareciera "/
"
compartiríamos todo nuestro linux, muy inseguro. En el caso de usuarios
del sistema, el directorio home
sería el del usuario en cuestión.
/bin/false
: Este será el nombre del shell a ejecutar. Como
queremos limitar el acceso shell del usuario ftp
, pero el demonio ftp
necesita una shell que exista ponemos /bin/false
,
asegurándonos de que exista. Si no es así, la creamos:
#!/bin/sh
exit 1
Los permisos recomendables para este fichero son rwxr-xr-x
.
Además, esta shell ha de aparecer listada en el fichero
/etc/shells
, por lo que la habremos de añadir si no lo está./etc/ftpusers
Lo segundo es restringir los nombres de usuario que nunca deben entrar al
ftp. Para ello editaremos el archivo /etc/ftpusers
e
introduciremos los que queramos:
# /etc/ftpusers: list of users disallowed ftp access. See ftpusers(5).
root
daemon
bin
sys
.....
Con esto cuando un usuario incluido en este archivo intente entrar, el acceso le será denegado.
Si mantenemos un servidor para distintos usuarios, cuando se introduzca un
nombre y un password válido, el usuario aparecerá en su directorio
$HOME
, y podrá acceder a aquellas partes del sistema a las que
tendría acceso por shell.
Si no queremos que acceda al servidor por ftp, añadiremos su nombre de usuario a este archivo.