Depois de alguns testes efetuados aqui com o vsftpd, ProFTPD e Pure-FTPd, cheguei a conclusão que o vsftpd é uma das melhores opções para usar neste roteador.
O motivo principal de ter escolhido o vsftpd ao ProFTPD foi por ele ser ligeiramente mais rápido para transferências dos arquivos. Nos testes efetuados aqui ele foi por volta de 4s mais rápido para puxar o mesmo arquivo do HD localizado em /mnt.
Por já ter o samba muitos não ver motivos para ter um ftp server no roteador, mas outros podem preferir transferir os arquivos por FTP. Nos testes que fiz, em operação normal, sem transmission rodando o Samba transferiu o mesmo arquivo com tempo semelhante ao vsftpd.
A grande vantagem do FTP é que ele usa menos CPU e RAM do que o Samba, logo ele é um bom aliado quando estiver rodando o Transmission.
Instalação
Logue pelo PuTTY e execute o comando:
opkg install -d opt vsftpd
Se falar que não existe o pacote, rode antes:
opkg update
Configuração
Basicamente ele já vem configurado, temos apenas que criar um link simbólico no /etc/, pois ele está instalando no /opt.
ln -s /opt/etc/vsftpd.conf /etc/vsftpd.conf
Vamos adicionar um usuário e senha para acesso ao ftp:
vi /etc/passwd
Adicione no final do arquivo um usuário a sua escolha, aqui adicionei
thiagoinfo com o path home do ftp apontando para /mnt você pode adicionar onde quiser
thiagoinfo:*:1000:1000:thiagoinfo:/mnt:/bin/false
Se preferir você pode apenas alterar o path do usuario ftp de /home/ftp para /mnt conforme mostra a imagem.
Salve o arquivo.
Agora vamos adicionar a senha para este usuário, lembre-se de alterar o usuário para o que você adicionou:
passwd thiagoinfo
Ou
passwd ftp
Insira a senha, dê enter e confirme a senha novamente.
Iniciando o FTP
Antes de iniciar o vsftpd, temos que adaptar o script de inicialização.
[P.V.N]
rm /opt/etc/init.d/vsftpd
vi /opt/etc/init.d/vsftpd
Cole o código abaixo no arquivo e salve: ESC + : wq!
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
START=50
start() {
mkdir -m 0755 -p /var/run/vsftpd
service_start /opt/usr/sbin/vsftpd
}
stop() {
service_stop /opt/usr/sbin/vsftpd
}
Se preferir ou achar mais fácil, baixe o arquivo pronto.
mv /opt/etc/init.d/vsftpd /opt/etc/init.d/vsftpd.bck
cd /opt/etc/init.d
wget http://mndti.com/wr1043nd/openwrt/vsftpd
chmod +x vsftpd
[P.V.A]
vi /opt/etc/init.d/vsftpd
Exclua a linha, coloque o cursor na linha e aperte D duas vezes:
START=50
Procure dentro de start e altere para:
/opt/usr/sbin/vsftpd
O script final deverá ficar da seguinte forma:
Se preferir ou achar mais fácil, baixe o arquivo pronto.
mv /opt/etc/init.d/vsftpd /opt/etc/init.d/vsftpd.bck
Baixe o arquivo:
cd /opt/etc/init.d
wget http://mndti.com/wr1043nd/openwrt/vsftpd_anterior
mv /opt/etc/init.d/vsftpd_anterior /opt/etc/init.d/vsftpd
chmod +x vsftpd
[P.O]
Inicializar/Parar:
/opt/etc/init.d/vsftpd start
/opt/etc/init.d/vsftpd stop