it-swarm-pt.tech

Servidor FTP Básico do Ubuntu

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 é ser capaz de 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.

33
JPrescottSanders

Eu vou recomendar PureFTPD porque tem sido o mais simples e fácil de usar na minha opinião. Você precisará instalá-lo primeiro: Sudo apt-get install pure-ftpd assim que for instalado, ele será iniciado automaticamente. 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 assim:

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, certifique-se de chmod na pasta WWW se você obtiver erros que já existem na combinação de usuário/grupo que você criou.

Por fim, se você quiser bloquear o acesso SSH para essa conta, execute: Sudo chsh -s /bin/false ftpman, que alterará os usuários Shell para false. (Substitua o ftpman pelo seu usuário ftp)

42
Marco Ceppi

Na minha opinião, SFTP é o melhor caminho a percorrer. Ei, ele 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, pois 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 configuradas corretamente para /var/www - que é provavelmente uma questão de Sudo chmod g+w /var/www; Sudo usermod -g $USER -G www-data $USER - você deve poder 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 :)

10
Ben Williams

Eu recomendaria fortemente 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 forma segura.

o vsftpd começa logo após você instalá-lo. O Ubuntu permite que os 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 o 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

Diretório está lá e eu sou capaz de cd para ele 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.

5
qbi

Eu humildemente recomendo um servidor FTP que eu 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 à porta 8021 usando um nome de login e senha no computador em que o JetFTP está sendo executado.

3
Nathan Osman

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.

2
Stuart

A instalação padrão do VSFTPD não permite nenhum 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.

0
Simon East

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

(1) FTP anônimo:

As pessoas podem acessar o servidor somente 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:

Esse método permite que os usuários da conta anônimos e com senha entrem no servidor. Eles só terão acesso a um diretório especificado, exceto para o usuário root que pode visualizar/modificar/excluir 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 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ê precisa adicionar um usuário chamado ftp ao seu sistema, com um diretório base 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

Fazer isso permite que apenas esta conta escreva nesta 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 da conta anônimos e com senha' ''

Para tornar possível ter usuários de contas 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 http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

Descompacte-o e carregue todo o seu conteúdo no diretório www do seu servidor web e então escreva no seu navegador este link link http: //localhost/ftp/install.php 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

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

-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 isso para algum aplicativo de servidor ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html

0
Sajad Bahmani