Servidor FTP básico do Ubuntu

33

Eu gostaria de configurar um servidor FTP básico na minha instalação do Ubuntu Server. Eu tenho jogado com VSFTPD, mas estou tendo problemas para obter o servidor para me permitir 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. Este pode ser um exemplo em que eu preciso estar melhor fundamentado na configuração do servidor Ubuntu para configurar este servidor FTP adequadamente. O objetivo final é poder mover os arquivos da minha pasta dev local para a minha pasta www para implantação. Diretórios precisam ser capazes de se mover também. Qualquer ajuda seria muito apreciada.

    
por JPrescottSanders 09.08.2010 / 02:44

7 respostas

42

Vou recomendar o PureFTPD porque foi o mais simples e fácil de usar na minha opinião. Você precisará instalá-lo primeiro: sudo apt-get install pure-ftpd , uma vez instalado, será iniciado. Por padrão, ele usa o PAM Authentication - o que significa que ele usa as contas que já existem no sistema para sua autenticação. Tudo o que você precisa fazer é criar uma conta de usuário com o diretório home como seu caminho www e definir a senha dessa conta. Você deve então ser capaz de se conectar com essa combinação de usuário / senha para fazer upload / download de arquivos.

Algo parecido com isto:

sudo adduser ftpman --home /var/www/ --ingroup www-data

O que criará o usuário ftpman e o colocará no grupo www-data que o Apache usa e guiará você pelo restante do script de configuração. Uma vez definido isso, certifique-se de chmod da pasta WWW se você receber erros sobre isso já existentes para a combinação de usuário / grupo que você criou.

Por último, se você quiser bloquear o acesso SSH para essa conta, execute: sudo chsh -s /bin/false ftpman , que mudará o shell dos usuários para false. (Substitua o ftpman pelo seu usuário ftp)

    
por Marco Ceppi 09.08.2010 / 03:54
10

Na minha opinião, o SFTP é o melhor caminho a percorrer. Ei, tem a palavra "seguro" no nome, deve ser melhor:)

O SFTP usa o ssh para fazer transferências de arquivos (diferentemente do FTPS, que é basicamente FTP + TLS). O que isto significa é que se você pode ssh para a máquina de destino, você pode quase sempre SFTP para ele, já que ele usa os mesmos mecanismos de autenticação, portanto não é necessário instalar e configurar diferentes daemons de servidor (isto é, nenhum pureftpd ou vsftpd). Contanto que suas permissões estejam definidas corretamente para /var/www - o que é provavelmente uma questão de sudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER - você deve ser capaz de usar o SFTP imediatamente.

A maioria dos softwares clientes hoje em dia faz SFTP muito feliz, e você também pode usar scp de um shell no servidor dev para copiar coisas ( scp -R copia pastas inteiras, e é muito útil). Você pode até dar mais um passo e automatizar logins com chaves públicas, o que significa que não há mais senhas de digitação:)

    
por Ben Williams 09.08.2010 / 07:17
5

Eu recomendo strongmente usar o vsftpd. É um dos daemons FTP mais seguros do Linux. Muitos outros tiveram fraquezas no passado e parece que o FTP é difícil de implementar de uma forma segura.

O vsftpd começa logo após você instalá-lo. O Ubuntu permite que usuários locais efetuem login. Então, inicie seu cliente FTP e efetue login como usuário normal com a senha do seu sistema (Meu exemplo usa lftp):

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp [email protected]:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

Agora estou usando algum tipo de gerenciador de arquivos (Nautilus, Shell, etc.) para criar um novo diretório foo e voltar para o meu cliente FTP:

ftp [email protected]:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

O diretório está lá e eu posso cd 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 estão imediatamente acessíveis. Aqui é importante procurar por direitos de acesso.

    
por qbi 09.08.2010 / 13:32
3

Eu humildemente recomendo um servidor FTP que eu mesmo escrevi do zero: JetFTP . É extremamente simples de instalar e usar.

Instalação:

  • Adicione meu PPA às suas fontes de software e atualize:

    sudo apt-add-repository ppa:george-edison55/george-edison
    
  • Execute o seguinte comando:

    sudo apt-get install jetftp
    
  • É isso aí!

Usar o JetFTP é simples - basta conectar-se à porta 8021 usando um nome de login e senha no computador em que o JetFTP está sendo executado.

    
por Nathan Osman 27.02.2011 / 01:50
2

Não use ftp , é um protocolo inerentemente inseguro porque envia o nome de usuário e a senha para o servidor. A implementação do sftp é igualmente fácil e você obtém uma enorme vantagem na segurança da sua conexão.

    
por Stuart 11.08.2010 / 18:19
0

Existem três maneiras diferentes de configurar um servidor FTP:

(1) FTP anônimo:

As pessoas só podem acessar o servidor com a conta anônima e sem uma senha. É claro que o administrador do servidor definirá um limite para os envios para evitar que os usuários coloquem arquivos ilegais, como músicas / filmes / jogos pirateados.

(2) FTP com acesso anônimo e usuários com uma conta com senha:

Este método permite que usuários de conta anônimos e com senha entrem no servidor. Eles só terão acesso a um diretório especificado, exceto pelo usuário root, que pode visualizar / modificar / apagar todos os arquivos e / ou pastas.

(3) FTP com suporte a mysql para autenticação de usuários virtuais:

Esse método permite 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 home também. Este passo é muito fácil, basta seguir estes comandos:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

Isso permite que apenas essa conta seja gravada nessa pasta. Você pode usar mais variáveis para especificar o que o servidor ftp fará. Aqui estão alguns exemplos:

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

Segunda opção: '' 'Usuários de contas anônimas e com senha' ''

Para tornar possível ter usuários de conta anônimos e com senha no mesmo servidor, siga este pequeno guia:

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

Terceira opção: '' 'Usuários virtuais com Mysql' ''

Para criar um servidor com suporte a mysql, siga os seguintes passos:

Baixe e instale o Gerenciador de usuários para PureFTPd, que você pode encontrar aqui link

Descompacte-o e carregue todo o seu conteúdo no diretório www do seu servidor web e, em seguida, escreva no seu navegador este link link Siga todos os passos que o instalador lhe pede Copie e salve o rge pureftpd-mysql.conf no diretório do gerenciador de usuários do pureftpd

Concluído. Acesso ao painel de administração usando este link link

Mais opções para adicionar antes de iniciar o processo do servidor

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

E veja isto para alguma aplicação de servidor FTP: link

    
por Sajad Bahmani 11.08.2010 / 19:54
0

A instalação padrão do VSFTPD não permite qualquer criar / modificar alterações por padrão. Você precisa editar /etc/vsftpd.conf e descomentar a seguinte linha ...

write_enable=YES

E, em segundo lugar, você precisa configurar as permissões apropriadas do sistema de arquivos nos respectivos arquivos e pastas.

    
por Simon East 13.07.2013 / 14:29