Estou tentando configurar um servidor FTP e tenho seguido guias. Todos eles mostram apenas como configurar um usuário, preciso que vários usuários consigam acessar a mesma pasta e extrair arquivos dela. Posso configurar uma pasta e prender vários usuários a essa pasta?
Estou usando vsftpd. Os usuários serão independentes e precisarão da capacidade de baixar arquivos da pasta sem poder escrever nada naquela pasta ou sair dela.
Tenho seguido estes guias:
https://documentation.ubuntu.com/server/how-to/networking/ftp/index.html
De
man vsftpd.conf
:Seguindo este guia
https://documentation.ubuntu.com/server/how-to/networking/ftp/index.html
Configurei o vsftpd e consegui fazê-lo funcionar com um usuário (user_a). Mas tive que definir o proprietário do diretório home do user_a como root e definir as permissões do diretório como 755. Isso porque eu queria poder atualizar os arquivos no diretório, mas não quero que nenhum usuário ftp consiga fazer alterações, eles só poderão ver os arquivos e baixá-los. Além disso, no vsftpd.conf descomente chroot_local_user=YES. Isso faz com que os usuários ftp fiquem bloqueados no diretório home do user_a e não consigam acessar o diretório root.
Depois que isso estiver feito, eu reiniciei o servidor. Se você não conseguir reiniciar seu servidor, reiniciar o serviço vsftpd também deve resolver. Então eu segui este guia sobre como configurar usuários virtuais.
https://github.com/dagwieers/vsftpd/blob/master/EXAMPLE/VIRTUAL_USERS/README
No entanto, não usei o berkeleydb. O Berkeleydb tem muitas funções, mas a única relevante é criar e gerenciar arquivos .db. Se você já tem o berkeleydb ou precisa dele por outros motivos, seguir o guia está bom, mas para mim configurar o berkeleydb foi um esforço extra, então usei o SQLite3 para criar o .db usando este guia.
Tive que executar isso para obter a funcionalidade do banco de dados
e eu os usei aqui no arquivo vsftpd.pam porque não usei berkeleydb para meus arquivos .db.
Agradeço ao Bodo nos comentários deste post por me mostrar o guia no github para criação de usuários virtuais.