<HTML> <HEAD> <TITLE>Ftp Anónimo COMO: El directorio del ftp. </TITLE> </HEAD> <BODY> <A HREF="Ftp-Anonimo-Como-5.html">Anterior</A> <A HREF="Ftp-Anonimo-Como-7.html">Siguiente</A> <A HREF="Ftp-Anonimo-Como.html#toc6">Indice</A> <HR> <H2><A NAME="directorioftp"></A> <A NAME="s6">6. El directorio del ftp. </A></H2> <P>El directorio <CODE>/home/ftp</CODE> en nuestro caso debe cumplir lo siguiente, para que sea seguro: </P> <H2><A NAME="homeftp"></A> <A NAME="ss6.1">6.1 <CODE>/home/ftp</CODE> </A></H2> <P>El directorio raíz del ftp (<CODE>/home/ftp</CODE>) debe ser propiedad del usuario root y con acceso de escritura prohibido al resto de usuarios, pero sí de ejecución para todos (<CODE>chmod 555</CODE>) </P> <P>Como ejemplo:</P> <P> <BLOCKQUOTE><CODE> <PRE> dr-xr-xr-x 6 root root 1024 Jul 19 21:16 ftp </PRE> </CODE></BLOCKQUOTE> </P> <P>Es importante saber que algunas revistas, y manuales sobre ftp recomiendan que el usuario propietario de <CODE>/home/ftp</CODE> sea ftp, pero esto es un error enorme si queremos tener un servidor seguro. </P> <H2><A NAME="homeftpbin"></A> <A NAME="ss6.2">6.2 <CODE>/home/ftp/bin</CODE> </A></H2> <P>El directorio <CODE>/home/ftp/bin</CODE> debe ser propiedad del root y sin acceso de escritura al resto de los usuarios. Como ejemplo: </P> <P> <BLOCKQUOTE><CODE> <PRE> d--x--x--x 2 root root 1024 Jul 27 21:48 bin </PRE> </CODE></BLOCKQUOTE> </P> <P>Dentro de este directorio, los archivos que tendremos serán todos los ejecutables, en mi caso son: </P> <P> <BLOCKQUOTE><CODE> <PRE> ---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 </PRE> </CODE></BLOCKQUOTE> </P> <P>Como se puede ver todos ellos son pertenecientes a <CODE>root</CODE> y con permisos de sólo ejecución para todo el mundo (modo <CODE>111</CODE>). Los comandos de este directorio son los mismos que usamos en nuestro sistema, por ejemplo "<CODE>ls</CODE>", los copiamos aquí si no los tenemos y les aplicamos los permisos. </P> <H2><A NAME="homeftpetc"></A> <A NAME="ss6.3">6.3 <CODE>/home/ftp/etc</CODE> </A></H2> <P>El directorio <CODE>/home/ftp/etc</CODE> tendrá permiso de solo ejecución y será propiedad de <CODE>root</CODE>:</P> <P> <BLOCKQUOTE><CODE> <PRE> d--x--x--x 2 root root 1024 Jul 27 23:42 etc </PRE> </CODE></BLOCKQUOTE> </P> <P>Los archivos siguientes son los que tendremos en este directorio:</P> <P> <BLOCKQUOTE><CODE> <PRE> -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 </PRE> </CODE></BLOCKQUOTE> </P> <P>Todos los archivos deben ser de sólo lectura (modo <CODE>111</CODE>).</P> <P>Tanto el archivo <CODE>group</CODE> como el archivo <CODE>passwd</CODE> de este directorio deben contener la información mínima posible. Un ejemplo claro sería:</P> <P><CODE>passwd</CODE>: <BLOCKQUOTE><CODE> <PRE> root:*:0:0:root:: ftp:*:10::Anonymous FTP:: </PRE> </CODE></BLOCKQUOTE> </P> <P><CODE>group</CODE>: <BLOCKQUOTE><CODE> <PRE> root::0: staff::: </PRE> </CODE></BLOCKQUOTE> </P> <P>El archivo <CODE>pathmsg</CODE> 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. </P> <P><CODE>pathmsg</CODE> Original:</P> <P> <BLOCKQUOTE><CODE> <PRE> 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 "-". </PRE> </CODE></BLOCKQUOTE> </P> <P><CODE>pathmsg</CODE> mío actual:</P> <P> <BLOCKQUOTE><CODE> <PRE> 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 "-". </PRE> </CODE></BLOCKQUOTE> </P> <P>Fuera de las coñas y demás, es ``algo'' más inteligible que en inglés. </P> <P>El archivo <CODE>ld.so.cache</CODE> contiene los nombres de las librerías necesarias, recomiendo no tocarlo si no es necesario.</P> <H2><A NAME="homeftplib"></A> <A NAME="ss6.4">6.4 <CODE>/home/ftp/lib</CODE></A></H2> <P>El directorio <CODE>/home/ftp/lib</CODE> donde las librerías son contenidas, debe tener propiedades de solo ejecución (<CODE>d--x--x--x</CODE>). 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. </P> <P>Como ejemplo:</P> <P> <BLOCKQUOTE><CODE> <PRE> -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 </PRE> </CODE></BLOCKQUOTE> </P> <H2><A NAME="homeftppub"></A> <A NAME="ss6.5">6.5 <CODE>/home/ftp/pub</CODE> </A></H2> <P>El directorio <CODE>/home/ftp/pub</CODE> es donde se alojarán los archivos que queremos compartir. Su propietario debería ser <CODE>ftp</CODE>, y los accesos serán de ejecución y lectura:</P> <P> <BLOCKQUOTE><CODE> <PRE> dr-xr-xr-x 21 ftp ftp 1024 Jul 26 20:04 pub </PRE> </CODE></BLOCKQUOTE> </P> <P>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 (<CODE>pub</CODE>) como <CODE>555</CODE>.</P> <P>En otros sistemas como SunOS las propiedades de este directorio son <CODE>2555</CODE>, de tal forma que se pueden crear nuevos archivos con el mismo grupo.</P> <H3><A NAME="homeftppubincoming"></A> <CODE>/home/ftp/pub/incoming</CODE></H3> <P>El directorio <CODE>/home/ftp/pub/incoming</CODE> es el directorio donde permitiremos la subida de ficheros a nuestra máquina. Por ello debe tener las siguientes propiedades:</P> <P> <BLOCKQUOTE><CODE> <PRE> drwxr-x-wx 2 root root 1024 Jul 19 21:16 incoming </PRE> </CODE></BLOCKQUOTE> </P> <P>Como se puede observar tiene permiso de ejecución (como es un directorio, realmente es permiso de <I>acceso</I> 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. </P> <P>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. </P> <HR> <A HREF="Ftp-Anonimo-Como-5.html">Anterior</A> <A HREF="Ftp-Anonimo-Como-7.html">Siguiente</A> <A HREF="Ftp-Anonimo-Como.html#toc6">Indice</A> </BODY> </HTML>