Anterior Siguiente Indice

6. El directorio del ftp.

El directorio /home/ftp en nuestro caso debe cumplir lo siguiente, para que sea seguro:

6.1 /home/ftp

El directorio raíz del ftp (/home/ftp) debe ser propiedad del usuario root y con acceso de escritura prohibido al resto de usuarios, pero sí de ejecución para todos (chmod 555)

Como ejemplo:

dr-xr-xr-x   6 root     root          1024 Jul 19 21:16 ftp

Es importante saber que algunas revistas, y manuales sobre ftp recomiendan que el usuario propietario de /home/ftp sea ftp, pero esto es un error enorme si queremos tener un servidor seguro.

6.2 /home/ftp/bin

El directorio /home/ftp/bin debe ser propiedad del root y sin acceso de escritura al resto de los usuarios. Como ejemplo:

d--x--x--x   2 root     root         1024 Jul 27 21:48 bin

Dentro de este directorio, los archivos que tendremos serán todos los ejecutables, en mi caso son:

---x--x--x   1 root     root        15204 Oct 24  1997 compress
---x--x--x   1 root     root        46324 Nov  6  1997 cpio
---x--x--x   1 root     root        45660 Jul 27 21:48 gzip
---x--x--x   1 root     root        29404 Jul 27 21:48 ls
---x--x--x   1 root     root        62692 Oct 20  1997 sh
---x--x--x   1 root     root       103968 Jul 27 21:48 tar

Como se puede ver todos ellos son pertenecientes a root y con permisos de sólo ejecución para todo el mundo (modo 111). Los comandos de este directorio son los mismos que usamos en nuestro sistema, por ejemplo "ls", los copiamos aquí si no los tenemos y les aplicamos los permisos.

6.3 /home/ftp/etc

El directorio /home/ftp/etc tendrá permiso de solo ejecución y será propiedad de root:

d--x--x--x   2 root     root         1024 Jul 27 23:42 etc

Los archivos siguientes son los que tendremos en este directorio:

-r--r--r--   1 root     root           18 Jul 27 21:48 group
-r--r--r--   1 root     root         8376 Nov  6  1997 ld.so.cache
-r--r--r--   1 root     root           44 Jul 27 21:48 passwd
-r--r--r--   1 root     root          172 Jul 19 21:16 pathmsg

Todos los archivos deben ser de sólo lectura (modo 111).

Tanto el archivo group como el archivo passwd de este directorio deben contener la información mínima posible. Un ejemplo claro sería:

passwd:

root:*:0:0:root::
ftp:*:10::Anonymous FTP::

group:

root::0:
staff:::

El archivo pathmsg es un archivo de información para el usuario cuando introduce algún carácter no valido. Es editable por nosotros para que ponga lo que queramos.

pathmsg Original:

You used an illegal filename. The filenames for anonymous
users must be made of only the characters  A-Z,  a-z, 0-9
and "._-+" and may not begin with a "." or a "-".

pathmsg mío actual:

Baby estas usando un nombre d'archivo erroneo. A ver zi te
enteras ke solo puedes usar los caracteres A-Z, a-z, 0-9
y "._-+" pero sin empezar por "." o "-".

Fuera de las coñas y demás, es ``algo'' más inteligible que en inglés.

El archivo ld.so.cache contiene los nombres de las librerías necesarias, recomiendo no tocarlo si no es necesario.

6.4 /home/ftp/lib

El directorio /home/ftp/lib donde las librerías son contenidas, debe tener propiedades de solo ejecución (d--x--x--x). En el interior encontraremos librerías y links a las mismas. Debemos tener en cuenta que deben tener permisos de sólo lectura, pero que los links tienen todos los permisos activados.

Como ejemplo:

-r--r--r--   1 root     root       164803 Jul 27 21:48 ld-2.0.5.so
lrwxrwxrwx   1 root     root           11 Jul 14 02:23 ld-linux.so.2 -> ld-2.0.5.so

6.5 /home/ftp/pub

El directorio /home/ftp/pub es donde se alojarán los archivos que queremos compartir. Su propietario debería ser ftp, y los accesos serán de ejecución y lectura:

dr-xr-xr-x  21 ftp      ftp          1024 Jul 26 20:04 pub

El permitir la escritura en este directorio no es una buena idea, puesto que los archivos deberían estar controlados, para ello usaremos un directorio concreto para las subidas. La recomendación es tener los permisos de todo lo que cuelga de este directorio (pub) como 555.

En otros sistemas como SunOS las propiedades de este directorio son 2555, de tal forma que se pueden crear nuevos archivos con el mismo grupo.

/home/ftp/pub/incoming

El directorio /home/ftp/pub/incoming es el directorio donde permitiremos la subida de ficheros a nuestra máquina. Por ello debe tener las siguientes propiedades:

drwxr-x-wx   2 root     root         1024 Jul 19 21:16 incoming

Como se puede observar tiene permiso de ejecución (como es un directorio, realmente es permiso de acceso al directorio) y de escritura, pero no de lectura. Esto se hace para que sólo personas autorizadas vean el contenido de este directorio. Si quisiéramos que fuera un directorio para compartir ficheros, solo tendríamos que añadir la propiedad de lectura.

Por otro lado, tendremos que editar un archivo de configuración para que todo esté perfecto. Este archivo se verá en la parte de configuración avanzada.


Anterior Siguiente Indice