Quando você faz login em um servidor FTP, você não deseja que os usuários procurem todo o seu sistema de arquivos. Você só quer que ele/ela navegue pelos arquivos que ele/ela pode acessar, geralmente os diretórios domésticos deles. Isso é o que Chroot faz. Ele trava os usuários em seus diretórios domésticos. Os usuários só podem procurar os arquivos e diretórios em seu diretório doméstico. Não importa o quanto eles tentem, eles não serão capazes de sair de seus diretórios domésticos.
Neste artigo, vou mostrar como usar o vsftpd chroot para bloquear os usuários em seus diretórios domésticos. Vou considerar este artigo uma extensão do artigo Gerencie o Apache 2 VirtualHost com Macro no Ubuntu 18.04 LTS ou Como configurar o Apache VirtualHost no Ubuntu 18.04 LTS. Certifique -se de ler esses artigos para configurar todos os usuários do FTP e diretórios domésticos. Então vamos começar.
Nos artigos do Apache VirtualHost acima, mostrei como configurar o Apache VirtualHost e hospedar vários sites em um único servidor da web.
Agora, quero deixar que todos os proprietários do site (usuários) enviem os arquivos necessários para o servidor da web usando FTP. Então, vou configurar o vsftpd de uma maneira que os usuários possam fazer upload dos arquivos necessários para o servidor da web usando FTP.
Instalando o VSFTPD no Ubuntu:
No Ubuntu, você pode instalar facilmente o vsftpd a partir do repositório oficial do pacote do Ubuntu com o gerenciador de pacotes APT.
Primeiro, atualize o cache do APT Package Manager com o seguinte comando:
$ sudo apt update
Agora, instale o vsftpd com o seguinte comando:
$ sudo apt install vsftpd
vsftpd deve ser instalado.
Configurando vsftpd:
O arquivo de configuração vsftpd é /etc/vsftpd.conf.
É sempre uma boa ideia manter um backup do arquivo de configuração original do VSFTPD.
Para criar um arquivo de configuração de backup vsftpd /etc/vsftpd.conf.cópia de segurança, Execute o seguinte comando:
$ sudo mv -v /etc /vsftpd.conf /etc /vsftpd.conf.cópia de segurança
Agora, crie um novo /etc/vsftpd.conf Arquivo com o seguinte comando:
$ sudo nano /etc /vsftpd.conf
Agora, digite as seguintes linhas e salve o arquivo pressionando + x seguido pela y e .
Ouça = sim
Ouvir_ipv6 = não
Connect_from_port_20 = sim
anonymous_enable = não
local_enable = sim
write_enable = sim
CHROOT_LOCAL_USER = SIM
allow_writEable_chroot = sim
seguro_chroot_dir =/var/run/vsftpd/vazio
pam_service_name = vsftpd
pasv_enable = sim
pasv_min_port = 40000
pasv_max_port = 45000
userlist_enable = sim
userlist_file =/etc/vsftpd.Lista de usuários
userlist_deny = não
finalmente, o /etc/vsftpd.conf O arquivo de configuração se parece com este.
Aqui, CHROOT_LOCAL_USER A opção é responsável por travar os usuários em seus diretórios domésticos.
allow_writable_chroot A opção é responsável por permissões de gravação nos diretórios domésticos.
Agora, reinicie o serviço VSFTPD com o seguinte comando:
$ sudo systemctl reiniciar vsftpd
Agora, verifique se o serviço VSFTPD está sendo executado com o seguinte comando:
$ sudo status Systemctl vsftpd
Ótimo! O serviço VSFTPD está em execução.
Agora, você deve adicionar todos os usuários que deseja conectar aos diretórios domésticos e fazer upload de arquivos para um arquivo de configuração /etc/vsftpd.Lista de usuários
Abra o /etc/vsftpd.Lista de usuários Arquivo de configuração com o seguinte comando:
$ sudo nano /etc /vsftpd.Lista de usuários
Agora, digite todos os nomes de usuário que você deseja permitir o acesso aos diretórios domésticos via FTP aqui. Em seguida, salve o arquivo pressionando + x seguido pela y e .
Acessando o servidor FTP:
Agora, você pode usar qualquer cliente FTP para se conectar ao seu servidor FTP. O cliente FTP mais popular é o Filezilla.
No Linux, você também pode usar o Nautilus File Manager para se conectar ao seu servidor FTP.
No Windows, você pode adicionar seu servidor FTP como localização de rede e fazer upload de arquivos.
Primeiro, você precisa saber o endereço IP ou o nome do host do seu servidor FTP.
Você pode descobrir o endereço IP do seu servidor FTP com o seguinte comando:
$ ip a | egrep "INET"
Como você pode ver, o endereço IP do meu servidor FTP é 192.168.21.187. Deve ser diferente para você. Então, certifique -se de substituí -lo por seu a partir de agora.
Usando Nautilus para acessar o servidor FTP:
Se você deseja fazer login no seu servidor FTP usando Nautilus no Linux, primeiro, abra Nautilus e clique em Outros locais. Em seguida, digite ftp: // nome de usuário@ip_addr ou ftp: // nome de usuário@domain_name na seção Connect to Server. Em seguida, clique em Conectar.
Agora, digite a senha para o seu usuário (no meu caso, Alice) e clique em Desbloquear. Você também pode verificar Lembre -se de senha, Se você deseja que Nautilus se lembre das credenciais de login. Caso contrário, deixe -o desmarcado.
Você deveria estar conectado. Como você pode ver, o diretório www está aqui.
Como você pode ver, posso avançar a cadeia de diretórios.
O índice.html o arquivo também está dentro do public_html/ diretório.
Como você pode ver, eu carreguei um arquivo e funciona. Também posso acessar o arquivo html do servidor Apache.
Se você deseja fazer login no seu servidor FTP e usá -lo no Windows adicionando um local de rede, verifique o Acessando o servidor FTP Seção do artigo Como configurar um servidor FTP com VSFTPD no Ubuntu 18.04 LTS.
Então, é assim que você configura o vsftpd e o configura para os usuários do CHROOT FTP para seus diretórios domésticos. Obrigado por ler este artigo.