Tutorial "FTP con Linux" By Peron
NIVEL Técnico del Manual: Medio
A continuación voy a explicar como configurar un servidor FTP con Linux. A pesar de que voy a intentar explicar a un nivel bastante básico, es indispensable tener un mínimo conocimiento de Linux e informática en general.
Primero que todo, ¿Qué es un servidor ftp? Lean algo de wiki! Definición FTP
El tuto esta basado en Ubuntu y el servidor FTP VSFTPD
Ahora bien, para que tener un servidor FTP ... pues no se .... jaja, depende del uso que Uds le den. Pueden compartir su lindas carpetas de MP3, pueden usarlo para subir cosas a su PC desde el trabajo/escuela o viceversa, etc etc etc.
Antes de ir al grano, vamos a tener que editar varios archivos y como usuario root. En mi caso siempre utilizo el querido "vi" pero cada uno puede utilizar el editor con el que está familiarizado. Si nunca usaron uno, y tienen Ubuntu o una distro con Gnome, pueden usar "gedit".
NOTA: cuando hablo de usuarios de FTP, estos son también usuarios del Sistema, o sea del Linux donde se instala el servidor FTP.
1) Instalar VSFTPD .... muy fácil.
#aptitude install vsftpd
2) Vamos a editar las configuraciones principales que están en el archivo /etc/vsftpd/vsftpd.conf
#vi /etc/vsftpd/vsftpd.conf
Aquí si usan gedit hacen:
#gedit /etc/vsftpd/vsftpd.conf
Recuerden: el # significa que estamos logeados como root.
Una vez abierto el editor vamos a cambiar las siguientes líneas (lo que está luego de // son comentarios mios)
// Deshabilitar el acceso a usuarios anónimos.
anonymous_enable=NO
// Mensaje del FTP al conectar alguien.
ftpd_banner=Bienvenido al FTP que hice con el tuto de Peron
// Enjaula a los usuarios dentro de su propio directorio personal. (que "enjaula" que??? está loco este pibe? jaja, al final explico esto de enjaular)
chroot_local_user=YES
// Para que los usuarios sólo puedan acceder a las carpetas del FTP y no a todo el sistema (sería una locura).
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
// La siguiente línea se explica en el punto 4)
userlist_enable=YES
3) Ahora viene una parte que puede confundir. Vamos a decir que usuarios van a estar enjaulados. A pesar de que dijimos que esto iba a ser así, tenemos que decir cuales serán. Para eso editamos /etc/vsftpd.chroot_list
#vi /etc/vsftpd.chroot_list
Y agregamos los usuarios uno bajo el otro:
peron
pepe
4) Antes habíamos colocado userlist_enable=YES. Esto significa que lo usuarios listados en el archivo /etc/vsftpd.user_list NO pueden acceder al FTP. Entonces la idea es en el punto anterior listar todos los usuarios que SI podrán ingresar al FTP y encima enjaulados y en /etc/vsftpd.user_list listar TODOS los usuarios restantes del sistema que NO podrán ingresar vía FTP.
#vi /etc/vsftpd.user_list
root
manuel
kiko
Recordar, cuando se quiera agregar un usuario para que acceda x FTP, ANTES se debe agregar como usuario de sistema:
#adduser pepin
#passwd pepin
Si no queremos que este usuario pueda utilizar una shell ya que solo será para ingresar al FTP.
#vipw
Y la línea correspondiente a pepin deberá ser:
pepin:x:506:506::/home/pepin:/sbin/nologin
Con /sbin/nologin le sacamos el acceso a una shell.
NOTA: ¿A donde van a parar los archivos de cada usuario? Fácil .... al Home de cada uno. Por ejemplo para pepe:
/home/pepe
Si queremos cambiar el home default al crear un usuario debemos agregar un parámetro al comando adduser. Por ejemplo creo el usuario ftpuser y quiero que su home sea en /DATOS:
#adduser --home /DATOS ftpuser
Significado de enjaular a un usuario: Al enjaular un usuario, el mismo solo podrá navegar por el directorio en el cual está enjaulado sin posibilidad de afectar al resto del sistema. Por ejemplo si pepe está enjaulado en /home/pepe jamás podrá acceder a /tmp
Bueno eso es todo, aclaro el turorial es de Peron!.
La
NIVEL Técnico del Manual: Medio
A continuación voy a explicar como configurar un servidor FTP con Linux. A pesar de que voy a intentar explicar a un nivel bastante básico, es indispensable tener un mínimo conocimiento de Linux e informática en general.
Primero que todo, ¿Qué es un servidor ftp? Lean algo de wiki! Definición FTP
El tuto esta basado en Ubuntu y el servidor FTP VSFTPD
Ahora bien, para que tener un servidor FTP ... pues no se .... jaja, depende del uso que Uds le den. Pueden compartir su lindas carpetas de MP3, pueden usarlo para subir cosas a su PC desde el trabajo/escuela o viceversa, etc etc etc.
Antes de ir al grano, vamos a tener que editar varios archivos y como usuario root. En mi caso siempre utilizo el querido "vi" pero cada uno puede utilizar el editor con el que está familiarizado. Si nunca usaron uno, y tienen Ubuntu o una distro con Gnome, pueden usar "gedit".
NOTA: cuando hablo de usuarios de FTP, estos son también usuarios del Sistema, o sea del Linux donde se instala el servidor FTP.
1) Instalar VSFTPD .... muy fácil.
#aptitude install vsftpd
2) Vamos a editar las configuraciones principales que están en el archivo /etc/vsftpd/vsftpd.conf
#vi /etc/vsftpd/vsftpd.conf
Aquí si usan gedit hacen:
#gedit /etc/vsftpd/vsftpd.conf
Recuerden: el # significa que estamos logeados como root.
Una vez abierto el editor vamos a cambiar las siguientes líneas (lo que está luego de // son comentarios mios)
// Deshabilitar el acceso a usuarios anónimos.
anonymous_enable=NO
// Mensaje del FTP al conectar alguien.
ftpd_banner=Bienvenido al FTP que hice con el tuto de Peron
// Enjaula a los usuarios dentro de su propio directorio personal. (que "enjaula" que??? está loco este pibe? jaja, al final explico esto de enjaular)
chroot_local_user=YES
// Para que los usuarios sólo puedan acceder a las carpetas del FTP y no a todo el sistema (sería una locura).
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
// La siguiente línea se explica en el punto 4)
userlist_enable=YES
3) Ahora viene una parte que puede confundir. Vamos a decir que usuarios van a estar enjaulados. A pesar de que dijimos que esto iba a ser así, tenemos que decir cuales serán. Para eso editamos /etc/vsftpd.chroot_list
#vi /etc/vsftpd.chroot_list
Y agregamos los usuarios uno bajo el otro:
peron
pepe
4) Antes habíamos colocado userlist_enable=YES. Esto significa que lo usuarios listados en el archivo /etc/vsftpd.user_list NO pueden acceder al FTP. Entonces la idea es en el punto anterior listar todos los usuarios que SI podrán ingresar al FTP y encima enjaulados y en /etc/vsftpd.user_list listar TODOS los usuarios restantes del sistema que NO podrán ingresar vía FTP.
#vi /etc/vsftpd.user_list
root
manuel
kiko
Recordar, cuando se quiera agregar un usuario para que acceda x FTP, ANTES se debe agregar como usuario de sistema:
#adduser pepin
#passwd pepin
Si no queremos que este usuario pueda utilizar una shell ya que solo será para ingresar al FTP.
#vipw
Y la línea correspondiente a pepin deberá ser:
pepin:x:506:506::/home/pepin:/sbin/nologin
Con /sbin/nologin le sacamos el acceso a una shell.
NOTA: ¿A donde van a parar los archivos de cada usuario? Fácil .... al Home de cada uno. Por ejemplo para pepe:
/home/pepe
Si queremos cambiar el home default al crear un usuario debemos agregar un parámetro al comando adduser. Por ejemplo creo el usuario ftpuser y quiero que su home sea en /DATOS:
#adduser --home /DATOS ftpuser
Significado de enjaular a un usuario: Al enjaular un usuario, el mismo solo podrá navegar por el directorio en el cual está enjaulado sin posibilidad de afectar al resto del sistema. Por ejemplo si pepe está enjaulado en /home/pepe jamás podrá acceder a /tmp
Bueno eso es todo, aclaro el turorial es de Peron!.
La