Como configurar o servidor FTP no Debian 9 Stretch Linux
- 4121
- 1313
- Maurice Champlin
Objetivo
O objetivo é instalar e configurar o servidor FTP no Debian 9 Stretch Linux, permitindo acesso anônimo ou local.
Sistema operacional e versões de software
- Sistema operacional: - Debian 9 Alongamento
- Programas: - VSFTPD Versão 3.0.3
Requisitos
Acesso privilegiado a
Dificuldade
MÉDIO
Convenções
- # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de
sudo
comando - $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular
Instruções
O seguinte tutorial explicará como instalar e configurar o servidor FTP usando vsftpd
Daemon. Ele também discutirá várias configurações para permitir acesso apenas a leitura ou somente leitura ao usuário anônimo, bem como aos usuários locais.
Instalação vsftpd
Vamos começar pelo servidor VSFPTD e instalação do cliente FTP:
# APT Install vsftpd ftp
Por padrão, o servidor vsftpd é configurado para permitir que os usuários do sistema acessem seus diretórios domésticos com acesso somente leitura. A seguir, é apresentado um arquivo de configuração padrão vsftpd /etc/vsftpd.conf
:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert- óleo de cobra.PEM rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeoil.chave ssl_enable = não
Como já mencionado, o arquivo de configuração acima concede apenas um acesso somente leitura a qualquer usuário do sistema listado dentro /etc/passwd
arquivo. Usar ftp
Comando e tente se conectar usando o nome de usuário e a senha de qualquer um dos usuários do sistema local:
# FTP localhost conectado ao host local. 220 (VSFTPD 3.0.3) Nome (localhost: raiz): LinuxConfig 331 Especifique a senha. Senha: 230 Login bem -sucedido. O tipo de sistema remoto é Unix. Usando o modo binário para transferir arquivos. FTP> CUIXO ARQUIVO.TXT Local: Arquivo.TXT Remote: Arquivo.Comando txt 200 eprt bem -sucedido. Considere usar o EPSV. 550 Permissão negada.
Se você precisar apenas de acesso somente leitura por seus usuários locais, você terminou.
Permitir acesso ao usuário Acesso
Para adicionar acesso de gravação para todos os usuários locais do sistema Uncomment ou adicionar a seguinte estrofe write_enable = sim
. O novo arquivo de configuração consiste em:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert- óleo de cobra.PEM rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeoil.chave ssl_enable = não write_enable = sim
Em seguida, reinicie seu vsftpd:
# SystemCtl Reiniciar vsftpd
Realizar um novo teste com ftp
comando para confirmar o acesso de gravação:
# FTP localhost conectado ao host local. 220 (VSFTPD 3.0.3) Nome (localhost: raiz): LinuxConfig 331 Especifique a senha. Senha: 230 Login bem -sucedido. O tipo de sistema remoto é Unix. Usando o modo binário para transferir arquivos. FTP> CUIXO ARQUIVO.TXT Local: Arquivo.TXT Remote: Arquivo.Comando txt 200 eprt bem -sucedido. Considere usar o EPSV. 150 OK para enviar dados. 226 Transferência completa. ftp> ls 200 eprt comando bem -sucedido. Considere usar o EPSV. 150 aqui vem a lista de diretórios. -RW ------- 1 1000 1000 0 Jun 07 12:45 Arquivo.TXT 226 Diretório Enviar OK.
Permitir usuários específicos apenas
No momento, nosso servidor FTP permite o acesso a qualquer usuário do sistema definido dentro /etc/passwd
arquivo. Para permitir que apenas usuários específicos possam fazer login, podemos incluir as seguintes linhas em nosso arquivo de configuração:
userlist_file =/etc/vsftpd.userlist userlist_enable = sim
O exposto acima permitirá uma lista de usuários predefinidos em que qualquer usuário listado dentro /etc/vsftpd.Lista de usuários
(Um nome de usuário por linha) terá acesso ao FTP negado, enquanto todos os outros usuários do sistema poderão fazer login. Vamos criar um novo /etc/vsftpd.Lista de usuários
Lista de usuários composta por um único usuário LinuxConfig
:
# eco linuxconfig> /etc /vsftpd.Lista de usuários
Reinicie o servidor vsftpd:
# SystemCtl Reiniciar vsftpd
Realizar um novo teste com ftp
comando para confirmar o acesso negado ao servidor FTP para LinuxConfig
do utilizador:
# FTP localhost conectado ao host local. 220 (VSFTPD 3.0.3) Nome (localhost: raiz): LinuxConfig 530 Permissão negada. falha no login. ftp>
No entanto, se você precisar ser capaz de fazer login apenas com os usuários definidos dentro /etc/vsftpd.Lista de usuários
, Adicione a seguinte opção de configuração userlist_deny = não
no seu arquivo de configuração vsftpd /etc/vsftpd.conf
. Abaixo está o nosso atual /etc/vsftpd.conf
arquivo de configuração:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert- óleo de cobra.PEM rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable = no write_enable = sim userlist_file =/etc/vsftpd.userlist userlist_enable = sim userlist_deny = não
Deixe anônimo
Nesta fase, também vamos permitir o acesso somente leitura por usuários anônimos. Vamos começar a criar um novo diretório que será usado como um diretório raiz para o usuário anônimo, por exemplo,. /var/ftp
. Para fins de teste, também podemos colocar algum arquivo de teste arbitrário dentro /var/ftp
:
# mkdir/var/ftp/ # chmod 555/var/ftp/ # chown ftp.ftp/var/ftp/ # touch/var/ftp/anônimo.TXT
Além disso, inclua as seguintes linhas em /etc/vsftpd.conf
arquivo de configuração para definir o diretório doméstico anônimo e o acesso anônimo:
anon_root =/var/ftp anonymous_enable = sim
Opcionalmente, adicione no_anon_password = sim
linha para instruir o vsftpd para permitir que o usuário anônimo faça login automaticamente sem a senha. Como agora definimos a lista de usuários, também devemos adicionar o anônimo
Usuário da lista:
# eco anônimo >> /etc /vsftpd.Userlist # Cat /etc /vsftpd.UserList LinuxConfig Anonymous
Como geralmente reinicie o servidor FTP e execute uma validade da sua configuração atual:
# SystemCtl Reiniciar vsftpd
Teste o login anônimo:
# FTP localhost conectado ao host local. 220 (VSFTPD 3.0.3) Nome (localhost: raiz): anônimo 230 Login bem -sucedido. O tipo de sistema remoto é Unix. Usando o modo binário para transferir arquivos. ftp> ls 200 eprt comando bem -sucedido. Considere usar o EPSV. 150 aqui vem a lista de diretórios. -RW-R-R-- 1 0 0 0 Jun 13 13:29 Anônimo.TXT 226 Diretório Enviar OK. ftp>
Abaixo, você pode encontrar nosso arquivo de configuração atual do VSFTPD:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert- óleo de cobra.PEM rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable = no write_enable = sim userlist_file =/etc/vsftpd.userlist userlist_enable = sim userlist_deny = não anon_root =/var/ftp anonymous_enable = sim no_anon_password = sim
Ativar acesso anônimo a gravar
Em seguida, vamos permitir que o usuário anônimo envie arquivos e crie novos diretórios e mais. Para fazer isso, crie um novo diretório carregar
dentro do /var/ftp
diretório:
# mkdir/var/ftp/upload # chown ftp.ftp/var/ftp/upload/
Em seguida, adicione as seguintes linhas ao seu arquivo de configuração VSFTPD:
anon_upload_enable = sim anon_other_write_enable = sim anon_mkdir_write_enable = sim
Reinicie seu servidor:
# SystemCtl Reiniciar vsftpd
Após o reinício, o usuário anônimo poderá fazer upload de arquivos, criar diretórios renomear arquivos:
# FTP localhost conectado ao host local. 220 (VSFTPD 3.0.3) Nome (localhost: raiz): anônimo 230 Login bem -sucedido. O tipo de sistema remoto é Unix. Usando o modo binário para transferir arquivos. ftp> ls 200 eprt comando bem -sucedido. Considere usar o EPSV. 150 aqui vem a lista de diretórios. -RW-R-R-- 1 0 0 0 Jun 13 13:29 Anônimo.Txt drwxr-xr-x 2 108 112 4096 Jun 07 13:57 Upload 226 Diretório Enviar OK. FTP> Diretório de upload de CD 250 alterado com sucesso. FTP> CUIXO ARQUIVO.TXT Local: Arquivo.TXT Remote: Arquivo.Comando txt 200 eprt bem -sucedido. Considere usar o EPSV. 150 OK para enviar dados. 226 Transferência completa. ftp> ls 200 eprt comando bem -sucedido. Considere usar o EPSV. 150 aqui vem a lista de diretórios. -RW ------- 1 108 112 0 Jun 07 13:57 Arquivo.TXT 226 Diretório Enviar OK. FTP> Renomear o arquivo.Txt novo.Txt 350 pronto para RNO. 250 Renomear bem -sucedido. ftp> ls 200 eprt comando bem -sucedido. Considere usar o EPSV. 150 aqui vem a lista de diretórios. -RW ------- 1 108 112 0 Jun 07 13:57 Novo.TXT 226 Diretório Enviar OK. ftp>
Abaixo, você pode encontrar nosso arquivo de configuração final do VSFTPD:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert- óleo de cobra.PEM rsa_private_key_file =/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable = no write_enable = sim userlist_file =/etc/vsftpd.userlist userlist_enable = sim userlist_deny = não anon_root =/var/ftp anonymous_enable = sim no_anon_password = sim anon_upload_enable = sim anon_other_write_enable = sim anon_mkdir_write_enable = sim
Apêndice
Mensagem de erro:
# FTP localhost conectado ao host local. 220 (VSFTPD 3.0.3) Nome (localhost: raiz): Anonymous 500 OOPS: VSFTPD: Recusando -se a correr com a raiz gravável dentro de chroot () falha no login. ftp>
O acima indica que o seu anon_root
O diretório é gravável. Solução é torná-lo somente leitura. Exemplo:
# chmod 555 /var /ftp
Como alternativa, tente adicionar a seguinte linha ao seu arquivo de configuração VSFTPD:
allow_writEable_chroot = sim
Tutoriais do Linux relacionados:
- Configurar servidor FTP no Linux
- Coisas para instalar no Ubuntu 20.04
- Como configurar o vsftpd no Debian
- Como configurar o servidor e o cliente FTP/SFTP no Almalinux
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Uma introdução à automação, ferramentas e técnicas do Linux
- Arquivos de configuração do Linux: os 30 primeiros mais importantes
- Coisas para instalar no Ubuntu 22.04
- Download do Linux
- Lista de clientes FTP e instalação no Ubuntu 22.04 Linux…
- « Atualização Raspbian GNU/Linux de Jessie para Raspbian Stretch 9
- Recupere uma senha raiz esquecida no Redhat 7 Linux Selinux System »