O pacote "vsftpd" contém um processo de segundo plano "FTP" muito seguro e muito pequeno. Isso é útil para servir arquivos em uma rede de intercomunicação.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://security.appspot.com/downloads/vsftpd-3.0.5.tar.gz
Soma de verificação MD5 da transferência: efbf362a65bec771bc15ad311f5a982e
Tamanho da transferência: 210 KB
Espaço em disco estimado exigido: 1,9 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vsftpd
          Por motivos de segurança, executar o "vsftpd" como um(a) usuário(a) e grupo sem
          privilégios é encorajado. Além disso, um(a) usuário(a) deveria ser
          criado(a) para mapear usuários(as) anônimos(as). Como o(a)
          usuário(a) "root", crie os
          diretórios, usuários(as) e grupos necessários(as) com os seguintes
          comandos:
        
install -v -d -m 0755 /usr/share/vsftpd/empty && install -v -d -m 0755 /home/ftp && groupadd -g 47 vsftpd && groupadd -g 45 ftp && useradd -c "Usuário(a) vsftpd" -d /dev/null -g vsftpd -s /bin/false -u 47 vsftpd && useradd -c anonymous_user -d /home/ftp -g ftp -s /bin/false -u 45 ftp
O "Gcc-10" e posteriores sinalizam um erro para uma conversão implícita de tipo. Torne isso explícito:
sed -e "s/kVSFSysStrOpenUnknown;/(enum EVSFSysUtilOpenMode)&/" -i sysstr.c
Construa o "vsftpd" como um(a) usuário(a) sem privilégios usando o seguinte comando:
make
Esse pacote não vem com uma suíte de teste.
          Mais uma vez, torne-se o usuário "root" e instale o "vsftpd" com os seguintes comandos:
        
install -v -m 755 vsftpd /usr/sbin/vsftpd && install -v -m 644 vsftpd.8 /usr/share/man/man8 && install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 && install -v -m 644 vsftpd.conf /etc
          install -v -d ...:
          Isso cria o diretório que os(as) usuários(as) anônimos(as) usarão
          ("/home/ftp") e o diretório que o
          processo de segundo plano se enjaulará nele ("/usr/share/vsftpd/empty").
        
          
            "/home/ftp" não deveria ser
            titularizado pelo(a) usuário(a) "vsftpd", ou pelo(a) usuário(a) "ftp".
          
echo "#define VSF_BUILD_TCPWRAPPERS" >>builddefs.h: Use isso antes do "make" para adicionar suporte a "tcpwrappers".
echo "#define VSF_BUILD_SSL" >>builddefs.h: Use isso antes do "make" para adicionar suporte a "SSL".
          install -v -m ...: O
          Makefile usa caminhos de instalação
          não padrões. Esses comandos instalam os arquivos em "/usr" e "/etc".
        
            O "vsftpd" vem com um arquivo
            básico de configuração somente anônimo que foi copiado para
            "/etc" acima. Embora ainda como
            "root", esse arquivo deveria ser
            modificado porque agora é recomendado executar o "vsftpd" em modo autônomo. Além
            disso, você deveria especificar o(a) usuário(a) de separação de
            privilégios criado(a) acima. Finalmente, você deveria especificar
            o diretório "chroot". "man vsftpd.conf" te dará todos
            os detalhes.
          
cat >> /etc/vsftpd.conf << "EOF"
background=YES
nopriv_user=vsftpd
secure_chroot_dir=/usr/share/vsftpd/empty
EOF
          
            O processo de segundo plano "vsftpd" usa "seccomp" para melhorar
            a segurança por padrão. Mas é conhecido por fazer com que o
            "vsftpd" não consiga lidar com o comando "LIST" do "ftp" com versões recentes do núcleo.
            Anexe uma linha a "/etc/vsftpd.conf" (como o(a) usuário(a)
            "root") para desabilitar o
            "seccomp" e solucionar esse problema:
          
cat >> /etc/vsftpd.conf << "EOF"
seccomp_sandbox=NO
EOF
          
            Para habilitar "logins" locais, anexe o seguinte ao arquivo
            "/etc/vsftpd.conf" (como o(a)
            usuário(a) "root"):
          
cat >> /etc/vsftpd.conf << "EOF"
local_enable=YES
EOF
          
            Além disso, se usar o "Linux-PAM" e o "vsftpd" com "logins" locais de usuário(a),
            [então] você precisará de um arquivo de configuração do
            "Linux-PAM". Como o(a)
            usuário(a) "root", crie o arquivo
            "/etc/pam.d/vsftpd" e adicione as
            mudanças necessárias de configuração para o suporte da sessão do
            "Linux-PAM" usando os seguintes
            comandos:
          
cat > /etc/pam.d/vsftpd << "EOF" &&# Inicia /etc/pam.d/vsftpd auth required /lib/security/pam_listfile.so item=user sense=deny \ file=/etc/ftpusers \ onerr=succeed auth required pam_shells.so auth include system-auth account include system-account session include system-sessionEOF cat >> /etc/vsftpd.conf << "EOF"session_support=YES pam_service_name=vsftpdEOF
            Instale o conjunto de comandos sequenciais
            de inicialização "/etc/rc.d/init.d/vsftpd" incluso no
            pacote "blfs-bootscripts-20230101"
            "":
          
make install-vsftpd