Hola chicos, conoces algun dato para configurar el PROFTPD, aunque sea con Webmin?
Se me dio por configurarlo una vez que DAX me dijo, pero no encontre por ningun lado, algun dato como por ejemplo... "agregar usuario, asignarle a ese usuario una carpeta, que pueda escribir, y demas..."
Si alguien sabe algo chifle, mientras voy a tratar de investigar, gracias!!
La cosa no es muy complicada...
Simplemente ejecutalo (proftpd), con la configuración por defecto hace lo que vos querés.
Es simple... Con la configuración por defecto (la que viene con el sistema instalada), todos los usuarios pueden acceder al sistema y además, tenés un usuario anónimo que podés configurar en /etc/proftpd.conf (por defecto ftp es el usuario anónimo, y tiene un alias a anonymous que también podés cambiar en el mismo archivo). La parte de la configuración del usuario anónimo es simple, luce algo como esto:
<Anonymous ~ftp>
# Autorizás el logeo del usuario anónimo.
<Limit LOGIN>
AllowAll
</Limit>
MaxClients 5 "No dejo conectar a más de %m usuarios"
User ftp
Group ftp
# Acá configurás el alias del ftp anónimo. Podés ponerle algún usuario ya existente, de modo que al logearse con su usuario y contraseña, entra como anónimo, una característica bastante interesante.
UserAlias anonymous ftp
# Bloqueás la escritura de datos por dicho usuario.
<Limit WRITE>
DenyAll
</Limit>
# A continuación vamos a tener un directorio para que puedan subir cosas.
<Directory incoming/*>
# El que se logee no va a poder leer lo que tenemos ahí adentro. Tampoco se pueden borrar cosas ni sobre-escribirlas.
<Limit READ>
DenyAll
</Limit>
# Pero si pueden subir archivos mientras que no exista un archivo con ese nombre (no pueden sobre-escribir como aclaré arriba).
<Limit STOR>
AllowAll
</Limit>
</Directory>
</Anonymous>
Todos los usuarios del sistema pueden loguearse, y podés encapsularlos agregando la opción:
DefaultRoot ~
Eso permite que el usuario no pueda salir arriba de su ${HOME}. Esto anda en las nuevas versiones (1.2.x), dado que en las versiones anteriores tenías que crear vos un entorno de chroot. Pero Slackware desde la versión 9 incluye 1.2.x así que la podés usar tranquilamente.
Te recomiendo, de hecho, te obligaría, usar la opción también:
RequireValidShell on
Con esa opción, podés deshabilitar usuarios del sistema simplemente cambiándole la shell (para esto editá el archivo /etc/passwd y cambiarle la shell, que es el 7mo. campo en la linea correspondiente al usuario que querés bloquear) a alguna por ejemplo como /bin/false. ¿Cómo saber cuales son las shells nó válidas? Simple, son las que devuelven un valor devuelto distinto de 0. Osea:
/bin/false; echo $?
Eso te va a mostrar un 1
Si querés deshabilitar un usuario para que no pueda entrar por ssh, telnet o algo así, podés crear el usuario y ponerle como shell /bin/true. De esta manera, el usuario no puede acceder por ssh, rlogin, telnet, etc, pero si puede acceder por ftp al sistema, dado que /bin/true tiene valor devuelto 0, pero no es un intérprete de comandos del sistema, dado que:
/bin/false; echo $?
Te va a mostrar un 0 (Ergo, shell válida).
Si no querés que ningún usuario se pueda conectar salvo el usuario anónimo (ftp), podés agregar abajo de "port 21" las siguientes lineas:
<Limit LOGIN>
DenyAll
</Limit>
Con eso vas a bloquear el acceso a cualquier usuario que a posteriori no esté configurado en /etc/proftpd.conf.
También podés usar mysql con un módulo llamado proftpd-mysql que es para lograr una autentificación contra una base de datos (mysql en este caso). Por defecto no viene con casi ninguna distribución. Salvo para servidores grandes. Pero los mortales no usamos estas cosas. Los bsd-seros lo pueden encontrar en el árbol de ports por si a alguno le interesa.
Hay algo que no creo que uses, especialmente si tenés una sola PC y no la pensás usar de servidor para cosas grosas, pero para que sepas, proftpd también te permite gestionar hosts virtuales de forma simple. A continuación te muestro una configuración bastante simplona:
<VirtualHost ftp.tuhost.com>
ServerName "Este es mi servidor de ftp"
MaxClients 10
MaxLoginAttempts 1
<Limit LOGIN>
DenyAll
</Limit>
# Este sería el usuario "anónimo" del host virtual ftp.tuhost.com. De esta manera, podés setear que los hosts virtuales tengan un nombre diferente al del usuario.
<Anonymous nomius>
User nomius
Group nomius
AnonRequirePassword on
<Limit LOGIN>
AllowAll
</Limit>
</Anonymous>
</VirtualHost>
En el sitio de proftpd tenés algunas configuraciones simples y otras no tanto.
Traté de ser lo más sintético posible. Cualquier cosa, posteá que lo vemos.
PD1: Te recomiendo probar vsftpd, es mucho más seguro que proftpd. De hecho kernel.org cambió de proftpd a vsftpd por ser más seguro.
PD2: Se llaman directorios, no carpetas. :roll:
Gente, lo que quiero hacer seguramente no es nada del otro mundo, solamente quiero crear un directorio para un usuario que se pueda conectar y bajar cosas desde ese directorio.
Logre hacer andar el ProFTPD y lo estoy probando desde una PC con Windows, me logro conectar sin ningun problema con el user ftp o el anonymous, hasta puse un archivo para probar las transferencias, pero no me deja bajar nada.
Tienen idea de como hay que hacer para poder bajar algo de esas carpetas, sin complicarse tanto?
Mil gracias!
P.D: Mas adelante me dicen como hay que hacer para que pueda subir archivos el usuario que se conecte, GRAAAAAACIASSSSSSSSSS!!!!
Hola!
con respecto al archivo de configuracion, como hago para que se puedan subir archivos grandes??? porque si el archivo pesa 700mb se desconecta solo y no termia de subir nunca
gracias