vsftpd-3.0.5

Introdução ao vsftpd

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.

Informação do Pacote

  • Transferência (HTTP): https://security.appspot.com/downloads/vsftpd-3.0.5.tar.gz

  • Transferência (FTP):

  • 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

Dependências do "vsftpd"

Exigidas

libnsl-2.0.0

Recomendadas

Opcionais

libcap-2.67 com PAM

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vsftpd

Instalação do 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

Explicações do Comando

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").

[Nota]

Nota

"/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".

Configurando o vsftpd

Arquivos de Configuração

/etc/vsftpd.conf

Informação de Configuração

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-session
EOF

cat >> /etc/vsftpd.conf << "EOF"
session_support=YES
pam_service_name=vsftpd
EOF

Unidade do systemd

Instale a unidade "vsftpd.service" inclusa no pacote "" "blfs-systemd-units-20220720":

make install-vsftpd

Conteúdo

Aplicativo Instalado: vsftpd
Bibliotecas Instaladas: Nenhum(a)
Diretórios Instalados: /usr/share/vsftpd, /home/ftp

Descrições Curtas

vsftpd

é o processo de segundo plano de "FTP"