jueves, 15 de enero de 2009

Configurar ProFTPd con usuarios anónimos.

En el Blog anterior ya se explicaba como se instalaba y configuraba el Servidor FTP, "ProFTPd".

Ahora explicaremos como configurarlo para usuarios "Anonymous".

Lo primero sera crear las carpetas, se utilizaran para cuando entre los Usuarios Anonymous.

cd /var
sudo mkdir ftp


y dentro de esta dos carpetas más, la de apuntes y la de practicas:

cd /ftp
sudo mkdir apuntes

sudo mkdir practicas



Cuando creamos estas carpetas, el propietario es quien las crea es decir "Root" con lo cual tendremos que cambiarle el propietario, utilizaremos el usuario "proftpd" que es el que trae el Servidor lleva el mismo nombre.

Para ello lo haremos asi:

sudo chown -R proftpd /var/ftp


Con lo cual la "-R" significa recursivo es decir todas las carpetas hijas de esta tendrán las mismas características en este caso, mismo propietario.

Ahora vamos al archivo de configuración del Servidor ProFTPd, que es:

sudo gedit /etc/proftpd/proftpd.conf

Y pondremos la directivas necesarias.

Para que solo puedan navegar en la ruta, le dejemos por defecto, es decir solo podrá navegar de ahí hacia adelante, pero nunca subir de nivel en la jerarquía ascendente en forma de árbol, de nuestro sistema de archivos.

DefaultRoot /var/ftp

Para solo se conecten usuarios anónimos, ningun otro usuario.

<Limit LOGIN>
DenyAll
</Limit>

Para definir el acceso de forma Anonima y el directorio raiz, (home de este usuario) se hace con esta directiva.

<Anonymous /var/ftp>
User proftpd
</Anonymous>

Como podemos observar el usuario Anonymous no es ningun usuario real en el sistema, sino que se utiliza un Alias, de otro usuario real.

<Anonymous /var/ftp>
User proftpd
UserAlias anonymous proftpd
</Anonymous>

Añadiremos otras directivas mas como:

RequiereValidShell off ---> Se usa por que el usuario Proftpd, no tiene una shell valida.


Para negar la entrada a todos los usuarios.

<Limit LOGIN>
DenyAll
</Limit>


Pondremos otra directiva "Limit" esta vez dentro de la directiva Anonymous, para que si permitir a todos los usuarios "Anonymous"


<Anonymous /var/ftp>
User proftpd
UserAlias anonymous proftpd
RequiereValidShell
<Limit LOGIN>
AllowAll
</Limit>
</Anonymous>


Ademas el ejercicio nos pide que solo se permite la escritura en la carpeta "practicas" con lo cual limitaremos la escritura en la carpeta "apuntes", con la siguiente directiva.

<Anonymous /var/ftp>
User proftpd
UserAlias anonymous proftpd
RequiereValidShell off
<Limit LOGIN>
AllowAll
</Limit>
<Directory /var/ftp/apuntes>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>

Nuestro fichero de configuración "/etc/proftpd/proftpd.conf" debe de quedar así:



Ahora entramos en nuestro cliente FTP, en nuestro caso "Filezilla", bastaría solo con poner la dirección IP o nombre de red del Servidor queremos conectar para entrar de forma anonima (anonymous).



A continuación capturas de pantallas, primero dejando escribir en practicas y otra no dejando escribir datos en apuntes.



No hay comentarios: