Mostrando postagens com marcador FTP. Mostrar todas as postagens
Mostrando postagens com marcador FTP. Mostrar todas as postagens

quinta-feira, 20 de dezembro de 2012

FTP - Instalando o ProFTPD


INSTALANDO O PROFTPD

apt-get install proftpd

Durante a instalação será perguntado se deve correr o ProFTPD a partir do "inetd" ou "em modo solitário". Recomendo que escolha a segunda opção.

CONFIGURANDO O PROFTPD

O arquivo de configuração do servidor ProFTPD se encontra no seguinte caminho:
  • Debian/Ubuntu: "/etc/proftpd/proftpd.conf"
Na configuração padrão que vem no pacote, modifique apenas as seguintes directivas:

ServerName   "ProFTPD - Servidor FTP"
ServerIdent   on "Bem-vindo ao Servidor FTP"
ServerAdmin   root@localhost
ServerType   standalone
DefaultRoot   ~
MaxClients   20
MaxClientsPerHost  4

  • ServerName: defina o nome do servidor que será mostrado quando o usuário se conectar.
  • ServerIdent: configura a mensagem que é mostrada quando um usuário vai conectar ao servidor.
  • ServerAdmin: defina o e-mail do administrador do servidor.
  • ServerType: configura o modo de funcionamento do ProFTPD.
  • DefaultRoot: especifica qual será o diretório raiz (chroot) utilizado pelo usuário que está acessando o servidor e para quais grupos isto é válido ou não.
  • MaxClients: defina o número de usuários que podem acessar o servidor.
  • MaxClientsPerHost: defina o número máximo de usuários por máquina que podem acessar o servidor.

CRIANDO CONTAS DE USUÁRIO

Vamos criar uma conta de usuário que será usado e permitido apenas para conexões no Servidor FTP

root@cesar.augustus.nom.br's
# useradd -m -s /bin/false usuario # passwd usuario

Definindo no parâmetro "-s" (--shell) o "/bin/false", não irá permitir que façam outros tipos de conexões usando esse usuário, por exemplo, conexões SSH.
Ainda não terá como fazer conexões no Servidor FTP usando esse usuário criado por causa do Shell definido, terá que modificar na configuração a seguinte directiva:

RequireValidShell  off

FTP PÚBLICO (ANONYMOUS)

FTP público permite que todos possam ter acesso aos arquivos do diretório Home do usuário "ftp", podendo utilizar para compartilhar os arquivos para todos terem acessos, podendo efetuar apenas downloads, mas não uploads.

Para habitar o FTP público, edite o arquivo de configuração ProFTPD, descomente o contexto Anonymous e suas directivas, deverá ficar assim:
<­Anonymous ~ftp>
  User    ftp
  Group    nogroup
  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias   anonymous ftp
  # Cosmetic changes, all files belongs to ftp user
  DirFakeUser on ftp
  DirFakeGroup on ftp

  RequireValidShell  off

  # Limit the maximum number of anonymous logins
  MaxClients   10

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin   welcome.msg
  DisplayChdir  .message

  # Limit WRITE everywhere in the anonymous chroot
  <­Directory *>
    <­Limit WRITE>
      DenyAll
    <­/Limit>
  <­/Directory>

  # Uncomment this if you're brave.
  # <­Directory incoming>
  #   # Umask 022 is a good standard umask to prevent new files and dirs
  #   # (second parm) from being group and world writable.
  #   Umask    022  022
  #            <­Limit READ WRITE>
  #            DenyAll
  #            <­/Limit>
  #            <­Limit STOR>
  #            AllowAll
  #            <­/Limit>
  # <­/Directory>

<­/Anonymous>


INICIANDO O PROFTPD

Após ter terminado as configurações, inicie o servidor ProFTPD:
Debian/Ubuntu
root@cesar.augustus.nom.br's
# /etc/init.d/proftpd restart



ACESSANDO O SERVIDOR FTP

Para acessar no Servidor FTP uma conta de usuário, execute o seguinte comando:
cesar@cesar.augustus.nom.br's
$ ftp localhost Connected to localhost. 220 Bem-vindo ao Servidor FTP Name (localhost:root): usuario 331 Password required for usuario Password: senha 230 User usuario logged in Remote system type is UNIX. Using binary mode to transfer files. ftp>

Para acessar no Servidor FTP o FTP público, execute o seguinte comando:
cesar@cesar.augustus.nom.br's
$ ftp localhost Connected to localhost. 220 Bem-vindo ao Servidor FTP Name (localhost:root): ftp 331 Anonymous login ok, send your complete email address as your password. Password: [ENTER] 230 Anonymous access granted, restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp>
Também pode acessar o Servidor FTP usando um browser ou softwares de cliente FTP.
Pronto.


Servidor FTP (VsFTP)


Servidor FTP (VsFTP)
http://vsftpd.beasts.org/

Instalação
         #apt-get install vsftpd

Configuração
O arquivo de configuração do VsFTP é o vsftpd.conf. Para editá-lo basta digitar o seguinte comando:
         #vi /etc/vsftpd.conf

1ª configuração: Acesso anonymous
configurar a linha “anonymous_enable=YES” como “anonymous_enable=NO” para
NÃO aceitar conexões anônimas via FTP.

2ª configuração: Permitir usuários locais realizar login no FTP
descomente a linha “local_enable=YES” para que usuários locais possam acessar via
FTP.

3ª configuração: Permitir que usuários possam fazer upload de arquivos no servidor FTP
descomente a linha “write_enable=YES” para que usuários possam usá-lo em modo
Writer.

4ª configuração: Banner do servidor
descomente a linha “ftpd_banner=...” e colocar o conteúdo “Acesso Permitido Apenas
Para Administradores Previamente Autorizados.” ou o conteúdo desejado para ser
apresentado como banner no servidor.

5ª configuração: Configurar acesso apenas às pastas do próprio usuário, de forma que o
usuário não possa ver ou acessar nada fora de sua área de usuário
descomente a linha “chroot_local_user=YES” para que o usuário não tenha acessos
indevidos.

6ª configuração: Mostrar todos arquivos no servidor. Mesmo os que arquivos ocultos do
Unix, por exemplo, iniciados com “.”
inclua a linha “force_dot_files=YES” para que os arquivos com “.” sejam apresentados.

7ª configuração: Acertando a configuração do servidor para fazer upload de arquivos com
direitos rw-r-r. O padrão é rw--.

OBS: mais sobre umask pode ser verificado em:
http://www.vivaolinux.com.br/artigo/Calculando-valores-UMASK/
http://virtual01.lncc.br/~licht/linux/sistema.permissoes.umask.html

8ª Garantindo o upload e download correto de arquivos ASCII.
descomente as linhas “ascii_upload_enable=YES” e “ascii_download_enable=YES”.

9ª Criando shell falso para usuários de FTP. Esta configuração é importante para evitar
que usuários de FTP possam realizar login no servidor por SSH, por exemplo.
OBS: esta é a forma paliativa de ajustar o shell /bin/false para usuários de FTP, pois o
VsFTP não aceita login de usuários com o shell /bin/false.

OBS: esta é a forma paliativa de ajustar o shell /bin/false para usuários de FTP, pois o
VsFTP não aceita login de usuários com o shell /bin/false.

ln -s /bin/false /sbin/nologin
echo /sbin/nologin >> /etc/shells

10ª configuração: criação do diretório base para os arquivos, grupo e usuários para
acesso
Não é obrigatório, mas, por motivos de segurança, caso futuramente houver necessidade
de especificar configurações para os usuários do FTP e/ou apenas por melhor
representação dos usuários, é interessante a criação de um grupo de usuários específicos
para FTP.
groupadd ftpgroup
Agora, a criação dos usuários:
useradd -d /var/www/http -g ftpgroup -s /sbin/nologin ftpuser
e alteração da senha:
passwd ftpuser
Após, podemos criar o diretório base para arquivos:
mkdir -p /var/www/http
Dar acessos devidos ao usuário na pasta home do FTP
chown ftpuser.ftpgroup /var/www/http

11ª reiniciar o servidor VsFTP
/etc/init.d/vsftpd restart

Pronto.