1. PROYECTO DE FORMACIÓN
INTEGRANTES:
laura cristina castaño
28 DE JUNIO
CENTRO DE SERVICIOS Y GESTION EMPRESARIAL
MEDELLIN
2010
Instalacion de ftp con mysql en linux
2. Lo primero que haremos es entrar al modo root y actulizar los repositorios luego
procedemos a descargar nuestro paquete asi:
apt-get install vsftpd libpam-mysql mysql-server phpmyadmin mysql-client
Luego procedemos a crear la base de datos en mysql. Para entrar a mysql digitamos
mysql –p root -u
Creamos una base de datos así:
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO
'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO
'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;
Luego entramos a nuestra base de datos
use vsftpd;
A continuacion creamos una tabla de llamada usuarios.
CREATE TABLE `accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
listen=YES
Y anonymous_enable=NO
salimos de mysql.
local_enable=YES
write_enable=YES quit;
local_umask=022
Luego cremos un usuario asi
dirmessage_enable=YES
xferlog_enable=YES
useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd;
connect_from_port_20=YES
nopriv_user=vsftpd
Hacemos una copia de nuestro archivo de configuracion del servicio ftp y procedemos
a chroot_local_user=YES
configurarlo:
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
cp /etc/vsftpd.conf /etc/vsftpd.conf_orig
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
vi /etc/vsftpd.conf
Aguest_enable=YES agregamos las siguientes lineas.
nuestro archivo le
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
3. Ahora crearemos un directorio
mkdir /etc/vsftpd_user_conf
Ahora debemos configurar PAM para que utilice la base de datos MySQL para
autenticar nuestros usuarios virtuales FTP en lugar de / etc / passwd y / etc / shadow.
La configuración de PAM para vsftpd se encuentra en / etc / pam.d / vsftpd. Hacemos
una copia de seguridad del archivo original y crear uno nuevo como éste:
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_orig
cat /dev/null > /etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd
Abrimos el archivo y agregamos las siguientes líneas:
auth required pam_mysql.so user=vsftpd passwd=ftpdpass
host=localhost db=vsftpd table=accounts usercolumn=username
passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=ftpdpass
host=localhost db=vsftpd table=accounts usercolumn=username
passwdcolumn=pass crypt=2
Luego reiniciamos nuestro servicio
4. Service vsftpd restart
Ahora crearemos nuestro usuario virtual, para ello debemos de nuevo ingresar a mysql y
usar la tabla que anteriormente habíamos creado.
mysql -u root –p
USE vsftpd;
Ahora vamos a crear nuestro usuario virtual así
INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret'));
quit;
Ahora haremos que este usuario pertenezca al usuario vsftpd así
mkdir /home/vsftpd/testuser
chown vsftpd:nogroup /home/vsftpd/testuser
Por ultimo conéctese al servidor.