Instalando vsfptd no roteador TL-WR1043ND com DD-WRT


Continuando nossa série de posts sobre o DD-WRT no Roteador TL-WR1043ND, já preparamos o roteador para instalar programas no HD externo e instalamos o cliente de torrent Transmission para podermos baixar arquivos direto do roteador para o HD externo. O que vamos fazer hoje é instalar um servidor de FTP (vsftpd) para podermos configurar o FTP ao nosso modo, já que o servidor que vem no DD-WRT não permite muitas configurações.

Primeiro vamos acessar o sistema pelo terminal, lembrando que o IP do seu roteador é provavelmente 192.168.1.1:
# ssh
[email protected]

Agora devemos criar os usuários usados pelo servidor FTP para funcionar e para podermos logar e fazer upload de arquivos. Se você verificar vai ver que só existem duas contas no arquivo /etc/passwd:

Vamos criar nosso script de criação de usuários, um sem senha e outro com senha.
Como a senha é cifrada em MD5, sugiro que você crie a senha com o comando passwd usando um usuário de teste como modelo, primeiro faça:
# echo ‘teste:x:999:999:teste:/mnt:/bin/false’ >> /etc/passwd
Depois:
# passwd teste
Após colocar a senha, verifique a mesma com o comando cat:
# cat /etc/passwd
Assim você pode usar a senha para seu usuário no script adduser que criaremos:
# vi /opt/etc/init.d/adduser
#!/bin/sh
# Script que cria usuarios no DD-WRT
# Criando o usuario nobody (sem senha)
grep -q nobody /etc/passwd || echo ‘nobody:x:65534:65534:nobody:/mnt/ftp:/bin/false’ >> /etc/passwd
# Criando usuário vagner com senha cooperati
grep -q vagner /etc/passwd || echo ‘vagner:$1$wG9BFwgg$qwRuQTS9cxOgGq5agT7l70:1001:1001:vagner:/mnt/vagner:/bin/false’ >> /etc/passwd
##############

Agora que criamos o arquivo vamos criar os diretórios:
# mkdir /mnt/ftp
# mkdir /mnt/vagner

Para que o arquivo seja executado toda vez que o sistema inicializar vamos dar permissão de execução e criar o link simbólico para ele:
# chmod a+x /opt/etc/init.d/adduser
# ln -s /opt/etc/init.d/adduser /opt/etc/init.d/S05adduser

Agora vamos instalar o servidor FTP:
# opkg update
# opkg install vsftpd
Após instalar vamos configurá-lo, primeiro apagaremos o conteúdo do arquivo de configuração e depois substituiremos pelo nosso, lembrando que é uma configuração básica, mas todo :
# > /opt/etc/vsftpd.conf
# vi /opt/etc/vsftpd.conf
background=YES
listen=YES
listen_port=21
anonymous_enable=YES
ftp_username=nobody
local_enable=YES
write_enable=YES
local_umask=022
check_shell=NO
session_support=NO
chroot_local_user=YES

Após esta configuração poderemos criar o script de inicialização e testar nosso servidor:
# > /opt/etc/init.d/vsftpd
# vi /opt/etc/init.d/vsftpd
#!/bin/sh
[ -d /var/run/vsftpd ] || mkdir /var/run/vsftpd
kill -9 $(pidof vsftpd)
vsftpd /opt/etc/vsftpd.conf

Então criaremos o script para iniciar o serviço em cada boot:
# chmod a+x /opt/etc/init.d/vsftpd
# ln -s /opt/etc/init.d/vsftpd /opt/etc/init.d/S60vsftpd

Para testar vamos iniciar os scripts manualmente e testar de nossas máquinas:
# /opt/etc/init.d/adduser
# /opt/etc/init.d/vsftpd

Basta testar agora:

Em próximos posts iremos instalar o Samba e o Squid em nosso pequeno bravo roteador, e quem sabe um servidor de impressão ;-).
Continuem sugerindo assuntos, divulgando nosso site e não se esqueçam de assinar nosso Portal.

Share

    Comments

    1. Ola, excelente tutorial, voce poderia me dizer qual router eu conseguiria fazer rodar mesh trocando o firmware.

      • Renato,
        Pelo “Router Database” e pelo Features no site do dd-wrt não tem informação sobre mesh. Talvez estejam implementando isso para futuras versões, lembrando que o dd-wrt é uma interface para o openwrt.
        Vagner.

    2. eu gostaria de saber como configuar um HD externo, pelo DD-WRT v24-sp2 (08/07/10) std. eu configuro o roteador mais essa msg: Status: Not mounted – Unsupported file system or disk not formated e eu nao gostaria de formatar o HD ele esta em NTFS.

    3. Por acaso vc faz esse serviço, cobraria qto ?

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.