Ubuntu Crie uma conta FTP automaticamente após a criação do usuário

1

Eu notarei que estou usando o Rails, mas isso não é um problema do Rails.

Eu não sou muito experiente com Linux, mas sei que estou executando o Ubuntu 10.04 LTS no Linode.

Após o registro do usuário, o usuário cria uma pasta no meu RAILS_ROOT / public / users / [user_id] / para seu uso pessoal. Dentro desta pasta é um diretório de álbuns.

Como posso, ao mesmo tempo que esta pasta é criada, codificá-la com senha e dar-lhes acesso ftp. Isso é realmente possível? Quais são as preocupações de segurança com algo parecido com isto. Eu quero bloqueá-los lá e eu vi algumas pessoas falarem sobre o vsftpd como uma solução para esta última parte.

    
por bob 17.10.2010 / 21:31

2 respostas

2

Se você instalou e configurou o ProFTPD , pode usar a diretiva AuthUserFile para apontar para uma senha alternativa Arquivo. Este arquivo pode ser gerenciado pelo seu aplicativo. Você também pode configurar o ProFTPD para usar um back-end de banco de dados SQL que seu aplicativo poderia gerenciar.

    
por 17.10.2010 / 23:28
1

Essas contas reais do Linux são criadas em sua aplicação?

vsftpd pode trabalhar com contas reais ou usuários virtuais (lidos de um arquivo), bem como "chroot" suas contas para um diretório específico para que não possam acessar diretórios de lá, mas de qualquer forma uma certa quantidade de configuração (por padrão, parece permitir apenas o acesso anônimo). Independentemente de você estar usando usuários reais ou virtuais, será necessário habilitar usuários "locais". O vsftpd usa o PAM para todos os usuários locais, portanto, para usuários virtuais, você precisará apagar e substituir completamente o /etc/pam.d/vsftpd com as informações do tutorial aqui . Se forem usuários criados no aplicativo, seu aplicativo precisará ter acesso de gravação ao arquivo passwd virtual apontado na configuração do PAM acima, e cada novo usuário terá seu nome de usuário e um hash apropriado de sua senha armazenado no arquivo .

Se você é bom com o PAM e tem os pacotes apropriados instalados, o PAM possui vários módulos diferentes que podem ser usados para isso, pode haver um que possa ler a mesma tabela de banco de dados usada pelo aplicativo para executar o nome de usuário / pesquisa de senha.

    
por 17.10.2010 / 21:45