Eu gostaria de configurar um servidor FTP básico na minha instalação do Ubuntu Server. Eu tenho jogado com o VSFTPD, mas estou tendo problemas para que o servidor me permita criar diretórios e copiar arquivos. Eu configurei o sistema para permitir usuários locais, mas parece que isso não significa que eu tenha acesso para criar diretórios. Esta pode ser uma instância em que preciso estar mais bem fundamentada na configuração do servidor Ubuntu para configurar esse servidor FTP adequadamente. O objetivo final é poder mover arquivos da minha pasta dev local para a minha pasta www para implantação. Os diretórios também precisam poder se mover. Qualquer ajuda seria muito apreciada.
33
Respostas:
Vou recomendar o PureFTPD porque, na minha opinião, foi o mais simples e fácil de usar. Você precisará instalá-lo primeiro:
sudo apt-get install pure-ftpd
uma vez instalado, ele será iniciado automaticamente. Por padrão, ele usa Autenticações PAM - o que significa que usa as contas que já existem no sistema para autenticação. Tudo que você precisa fazer é criar uma conta de usuário com o diretório inicial como seu caminho www e definir a senha para essa conta. Você deve conseguir se conectar com essa combinação de usuário / senha para fazer upload / download de arquivos.Algo assim:
sudo adduser ftpman --home /var/www/ --ingroup www-data
O que criará o
ftpman
usuário e o colocará no grupo www-data que o Apache usa e o guiará pelo restante do script de instalação. Depois de definida, verifiquechmod
a pasta WWW se houver erros sobre ela já existentes na combinação usuário / grupo que você criou.Por fim, se você deseja bloquear o acesso SSH para a execução dessa conta: o
sudo chsh -s /bin/false ftpman
que alterará o shell do usuário para false. (Substitua ftpman pelo seu usuário ftp)fonte
chsh
isso parece impedir que os usuários efetuem login também via FTP. Voltar para/bin/bash
permite que funcione novamente.Na minha opinião, o SFTP é o melhor caminho a percorrer. Ei, tem a palavra "seguro" no nome, deve ser melhor :)
O SFTP usa ssh para fazer transferências de arquivos (diferente do FTPS, que é basicamente o FTP + TLS). O que isso significa é que, se você pode ssh na máquina de destino, quase sempre pode fazer o SFTP, pois ele usa os mesmos mecanismos de autenticação, para que você não precise instalar e configurar diferentes daemons de servidor (por exemplo, sem pureftpd ou vsftpd). Desde que suas permissões estejam definidas corretamente para
/var/www
- o que provavelmente é uma questão desudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER
-, você poderá usar o SFTP imediatamente.Atualmente, a maioria dos softwares clientes executa o SFTP com muita satisfação, e você também pode usar
scp
de um shell no servidor dev para copiar coisas (scp -R
copiará pastas inteiras e é muito útil). Você pode até dar outro passo e automatizar logins com chaves públicas, o que significa que não há mais senhas de digitação :)fonte
Eu recomendaria fortemente o uso do vsftpd. É um dos daemons de FTP mais seguros no Linux. Muitos outros tinham fraquezas no passado e parece que o FTP é difícil de implementar de maneira segura.
O vsftpd inicia logo após a instalação. O Ubuntu permite que usuários locais efetuem login. Portanto, inicie seu cliente FTP e efetue login como usuário normal com a senha do sistema (meu exemplo usa lftp):
Agora estou usando algum tipo de gerenciador de arquivos (Nautilus, Shell etc.) para criar um novo diretório
foo
e voltar ao meu cliente FTP:O diretório está lá e eu posso
cd
entrar nele e usá-lo. Isso também é o mesmo se você tiver usuários especiais. Lá você também pode criar diretórios e eles são imediatamente acessíveis. Aqui é importante procurar direitos de acesso.fonte
Recomendo humildemente um servidor FTP que me escrevi do zero: JetFTP . É extremamente simples de instalar e usar.
Instalação:
Adicione meu PPA às suas fontes de software e atualize:
Execute o seguinte comando:
O uso do JetFTP é simples - basta conectar-se à porta
8021
usando um nome de login e senha no computador em que o JetFTP está sendo executado.fonte
Não use ftp , é um protocolo inerentemente inseguro porque envia o nome de usuário e a senha de forma clara ao servidor. A implementação do sftp é igualmente fácil e você obtém uma enorme vantagem na segurança da sua conexão.
fonte
Existem três maneiras diferentes de configurar um servidor ftp:
(1) FTP anônimo:
As pessoas podem acessar o servidor apenas com a conta anônima e sem uma senha. Obviamente, o administrador do servidor definirá um limite para envios para impedir que os usuários coloquem arquivos ilegais, como músicas / filmes / jogos piratas.
(2) FTP com acesso anônimo e usuários com uma conta com senha:
Este método permite que usuários anônimos e com senha entrem no servidor. Eles terão acesso apenas a um diretório especificado, exceto pela raiz do usuário que pode visualizar / modificar / excluir todos os arquivos e / ou pastas.
(3) FTP com suporte ao mysql para autenticação de usuários virtuais:
Este método permite o acesso ao servidor apenas para alguns grupos de usuários que não possuem uma conta de shell de autenticação de usuários virtuais no sistema. Ele usa um servidor mysql externo que armazena informações do usuário.
Primeira opção: FTP anônimo
Antes de iniciar a criação de um servidor ftp anônimo, você deve adicionar um usuário chamado ftp ao seu sistema, com um diretório inicial também. Este passo é realmente fácil, basta seguir estes comandos:
Isso permite que apenas essa conta grave nesta pasta. Você pode usar mais variáveis para especificar o que o servidor ftp fará. aqui estão alguns exemplos:
Segunda opção: '' 'Usuários de conta anônima e com senha' ''
Para tornar possível ter usuários de contas anônimas e com senha no mesmo servidor, siga este pequeno guia:
Terceira opção: '' 'Usuários virtuais com Mysql' ''
Para criar um servidor com suporte ao mysql, siga estas etapas:
Faça o download e instale o Gerenciador de usuários para PureFTPd, que você pode encontrar aqui http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
Descompacte-o e faça upload de todo o seu conteúdo no diretório www do servidor da web e, em seguida, escreva no seu navegador este link link http: //localhost/ftp/install.php Siga todas as etapas que o instalador solicitar para você Copie e salve rge pureftpd-mysql .conf no diretório do gerenciador de usuários pureftpd
Feito. Acesso ao painel de administração usando este link http: // localhost / ftp
Mais opções para adicionar antes de iniciar o processo do servidor
E veja isso em alguns aplicativos de servidor ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
fonte
A instalação padrão do VSFTPD não permite nenhuma alteração de criação / modificação por padrão. Você precisa editar
/etc/vsftpd.conf
e descomentar a seguinte linha ...write_enable=YES
Além disso, você precisa configurar as permissões apropriadas do sistema de arquivos nos respectivos arquivos e pastas.
fonte