Configuração FTP · 2 min read · Feb 09, 2026
Hospedagem Virtual Com vsftpd E MySQL No Debian Etch - Página 2
4 Configurar vsftpd
Primeiro, criamos um usuário não privilegiado chamado vsftpd (com o diretório home /home/vsftpd) pertencente ao grupo nogroup. Executaremos o vsftpd sob este usuário, e os diretórios FTP de nossos usuários virtuais estarão no diretório /home/vsftpd (por exemplo, /home/vsftpd/user1, /home/vsftpd/user2, etc.).
useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpdEm seguida, fazemos um backup do arquivo original /etc/vsftpd.conf e criamos o nosso:
cp /etc/vsftpd.conf /etc/vsftpd.conf_orig
cat /dev/null > /etc/vsftpd.conf
vi /etc/vsftpd.confO arquivo deve ter o seguinte conteúdo:
| listen=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES nopriv_user=vsftpd chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/vsftpd.pem guest_enable=YES guest_username=vsftpd local_root=/home/vsftpd/$USER user_sub_token=$USER virtual_use_local_privs=YES user_config_dir=/etc/vsftpd_user_conf |
As opções de configuração são explicadas em http://vsftpd.beasts.org/vsftpd_conf.html. As opções importantes para nossa configuração virtual são chroot_local_user, guest_enable, guest_username, user_sub_token, local_root e virtual_use_local_privs.
Com a opção user_config_dir, você pode especificar um diretório para arquivos de configuração por usuário que substituem partes das configurações globais. Isso é totalmente opcional e depende de você se deseja usar esse recurso. No entanto, devemos criar esse diretório agora:
mkdir /etc/vsftpd_user_confAgora devemos configurar o PAM para que ele use o banco de dados MySQL para autenticar nossos usuários FTP virtuais em vez de /etc/passwd e /etc/shadow. A configuração do PAM para vsftpd está em /etc/pam.d/vsftpd. Fazemos um backup do arquivo original e criamos um novo assim:
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_orig
cat /dev/null > /etc/pam.d/vsftpd
vi /etc/pam.d/vsftpd| 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 |
Por favor, certifique-se de substituir a senha do MySQL pela sua própria!
Depois, reiniciamos o vsftpd:
/etc/init.d/vsftpd restart5 Criar O Primeiro Usuário Virtual
Para popular o banco de dados, você pode usar o shell do MySQL:
mysql -u root -pUSE vsftpd;Agora criamos o usuário virtual testuser com a senha secret (que será armazenada criptografada usando a função PASSWORD do MySQL):
INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret'));
quit;o diretório home de testuser é /home/vsftpd/testuser; infelizmente, o vsftpd não cria esse diretório automaticamente se ele não existir. Portanto, criamos manualmente agora e o tornamos propriedade do usuário vsftpd e do grupo nogroup:
mkdir /home/vsftpd/testuser
chown vsftpd:nogroup /home/vsftpd/testuserAgora abra seu programa cliente FTP na sua estação de trabalho (algo como WS_FTP ou SmartFTP se você estiver em um sistema Windows ou gFTP em um desktop Linux) e tente se conectar. Como nome do host, você usa server1.example.com (ou o endereço IP do sistema), o nome de usuário é testuser e a senha é secret.
Se você conseguir se conectar - parabéns! Se não, algo deu errado.
6 Administração do Banco de Dados
Para a maioria das pessoas, é mais fácil ter uma interface gráfica para o MySQL; portanto, você também pode usar o phpMyAdmin (neste exemplo em http://server1.example.com/phpmyadmin/) para administrar o banco de dados vsftpd.

Sempre que você criar ou modificar um usuário, certifique-se de usar a função PASSWORD do MySQL para criptografar a senha desse usuário. Além disso, ao criar um novo usuário virtual, não se esqueça de criar o diretório home desse usuário no shell, como mostrado no final do capítulo anterior.

7 Links
- vsftpd: http://vsftpd.beasts.org
- Debian: http://www.debian.org
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.