sábado, 26 de enero de 2013

Crear servidor FTP con pam y db4.8 en linux





     Pasos esquematicos para una mejor comprension de los pasos a seguir:
    ·     Crear un sitio FTP llamado Starwar
    ·     Carpeta /home/starwar
    ·     Hay que crear usuarios virtuales y locales(del S.O)
    ·     Nombres: Virtuales clon1,clon2 y del sistema luck,dark
    ·     La virtualizacion la haremos con db4.8 y Pam
    ·     Crear una ligadura a ftp de los usuarios del sistema 


Pasos a seguir:
Instalar el servidor ftp: 
sudo apt-get install vsftpd
Instalar la db que usaremos:

sudo apt-get install db4.8-util 

Creamos el directorio raíz del ftp en /home:
mkdir /home/starwar

Creamos los usuarios y sus contraseñas en la base de datos y definimos una ruta para guardar la db:
db4.8_load -T -t hash /etc/starwar.db
luck    
luck
dark
dark
clon1
clon1
clon2
clon2
y pulsamos: “control + d” para guardar y salir de db4.8

Editaremos el servicio de ftp con pam indicándole la db que creamos en el paso anterior:
si no tienes vsftpd.virtual busca vsftpd.db48 y pon: mv vsftpd.db48 vsftpd.virtual
gedit /etc/pam.d/vsftpd.virtual
y cambiamos el nombre:
auth required pam_userdb.so db=/etc/starwar
account required pam_userdb.so db=/etc/starwar


Modificamos el archivo de configuración para indicar

cd /etc/
gedit vsftpd.conf
modificar esto: local_root=/home/starwar/$USER
por esto local_root=/home/starwar/$USER
y esto lo buscamos:pam_service_name=vsftpd.virtual


Ahora reiniciamos el servicio con el siguiente comando:

 /etc/init.d/vsftpd restart


Creamos las carpetas para los usuarios:
mkdir /home/starwar
mkdir /home/starwar/dark
mkdir /home/starwar/luck

Hacemos a ftp propietario de los directorios:
chown -R ftp:ftp /home/starwar


Damos los permisos a la raíz del ftp de forma recursiva y por ende a lo que cuelga de ella:
chmod -R 775 /home/starwar


Añadimos los usuarios locales de la siguiente manera:
useradd -m -d/home/luck -s/bin/bash luck
passwd luck y la la contraseña que queramos


para entrar como usuario local luck:
su - luck


Y hacemos el enlace a ftp para los usuarios locales del sistema:
ln -s /home/starwar/luck/ /home/luck/ftp //asi si somos root

su – dark

ln –s /home/starwar/dark/ ftp //asi si entramos como user


Para añadir usuarios a la user_list::
echo luck >> /etc/vsftpd.user_list
echo dark >> /etc/vsftpd.user_list
echo clon1 >> /etc/vsftpd.user_list
echo clon2 >> /etc/vsftpd.user_list


Probamos el servicio:
ftp localhost

y le damos usuario y contraseña


o podeis usar el navegador web poniendo esto en la url:

o podéis descargar el “filezilla” cliente e indicar los  parámetros que pide, el puerto será el 21 pues no lo modificamos en el fichero de configuración y la ip como siempre la dirección de loopback (127.0.0.1 es el equivalente a localhost en forma numerica).
 

No hay comentarios:

Publicar un comentario