FTP_Manager: um script para instalar e gerenciar servidor FTP no CentOS
Hoje me deparei com um script chamado FTP_Manager, criado por um colega usuário Linux Sr.Janakiram Suragani. Este script pode ser usado por administradores de sistema Linux iniciantes para instalar e gerenciar facilmente um servidor FTP no RHEL e CentOS. Usando este script, você pode instalar o servidor FTP, criar, excluir, editar e gerenciar usuários FTP por meio de uma interface de linha de comando simples.
Vamos ver como instalar e gerenciar o servidor FTP no CentOS. As mesmas etapas também devem funcionar no RHEL, Fedora e Scientific Linux.
Instale e gerencie o servidor FTP no CentOS usando FTP_Manager
Para usar esse script, você precisa desativar o firewall e oSELinux.
Para parar o firewall, execute os seguintes comandos como usuário root no CentOS 7:
systemctl stop firewalld
systemctl disable firewalld
No CentOS 6 e versões anteriores, execute:
service iptables stop
chkconfig iptables off
Para desabilitar o SELinux, edite o arquivo /etc/sysconfig/selinux:
vi /etc/sysconfig/selinux
Encontre a linha “SELINUX=enforcing” e altere-a para “SELINUX=disabled”.
This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
Salve e feche o arquivo. Reinicie o seu sistema para que as alterações tenham efeito.
Verifique se o firewall está desligado usando o comando no CentOS 7:
systemctl status firewalld
Exemplo de resultado:
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
No CentOS 6:
service iptables status
E verifique se o SELinux está desabilitado com o comando:
sestatus
Exemplo de resultado:
SELinux status: disabled
Nota: Como não é recomendado desligar os mecanismos de segurança, recomendo ao desenvolvedor do FTP_manager que encontre alguma solução alternativa para usar este script com SELinux e IPTables habilitados.
Depois de desabilitar os dois serviços, baixe este script no link abaixo.
- Baixar script FTP_Manager
Ou execute o seguinte comando para baixá-lo em seu diretório de trabalho atual.
wget https://github.com/suraganijanakiram/FTP_Manager_centos/archive/master.zip
Extraia o zip usando o comando:
unzip master.zip
Vá para a pasta extraída e torne este script executável conforme mostrado abaixo.
cd FTP_Manager_centos-master/
chmod +x ftp_manager.sh
Em seguida, execute o seguinte comando para executar este script:
./ftp_manager.sh
Ops, recebi esse erro.
-bash: ./ftp_manager.sh: /bin/bash^M: bad interpreter: No such file or directory
Parece que há uma linha dos terminando no arquivo de script. A pista é ^M. Para corrigir isso, abra o script no editor vi ou vim e digite a seguinte linha:
:set fileformat=unix
E então, digite o seguinte para salvar e sair do arquivo.
:wq!
Novamente, execute o script conforme mostrado abaixo. Desta vez deve funcionar. Sugiro que o autor corrija isso também.
./ftp_manager.sh
Este script exibirá a seguinte lista de opções.
1: Para instalar o pacote vsftpd e configurar
2: Para adicionar usuário
3: Para chroot (Restringir o usuário FTP ao seu diretório inicial) usuário existente
4: Para remover chroot (Restringir o usuário FTP ao seu diretório inicial) para o usuário
5: Para excluir usuário
6: Para ver os detalhes de login do FTP
7: Para ver os detalhes do login do FTP com falha
8: Para ver o registro de atividades UPLOAD (ou) EDIT e DOWNLOAD FTP
9: Para ver o log de atividades DELETE FTP
P: Sair
Basta INSERIR o número e a respectiva ação começará imediatamente.
Digamos, por exemplo, para instalar e configurar o pacote vsftpd, digite 1. O pacote vsftpd será instalado e configurado automaticamente.
Isso instalará o pacote vsftpd e iniciará o serviço vsftpd. Você não verá nada. Tudo será feito em segundo plano. Quando terminar, o ponteiro do mouse aparecerá novamente no prompt "insira o número da opção:".
A seguir, vamos adicionar um usuário FTP. Para fazer isso, digite o número 2. Ele irá pedir a confirmação. Digite Sim para continuar. Digite o nome de usuário do FTP e uma senha será gerada automaticamente para o usuário do FTP. Em seguida, ele perguntará novamente se você deseja chroot o usuário FTP. Digite Sim se desejar ou digite Não se não desejar.
Da mesma forma, você pode criar quantos usuários FTP desejar. Depois de criar todos os usuários, digiteNão para retornar ao assistente principal.
Depois de criar usuários FTP, tente fazer login na linha de comando ou no navegador da Web ou em qualquer ferramenta gráfica de cliente de usuário FTP, como o Filezilla.
Login FTP via navegador:
Login FTP usando FileZilla:
Todas as opções neste script são autoexplicativas. Por exemplo, para visualizar os detalhes de login do FTP, digite 6 e pressione ENTER. Ele exibirá os respectivos detalhes.
Da mesma forma, você pode verificar as outras opções inserindo os números atribuídos.
Para qualquer dúvida, verifique a página oficial do GitHub ou entre em contato com o desenvolvedor do script por e-mail - suraganijanakiram@gmail.com
Conclusão
Pelo que observei, este script é muito básico e precisa ser melhorado para ser utilizado em ambiente de produção. Como o autor deste script nos aconselhou a desabilitar o SELinux e o IPtables, o que não é recomendado, acho que não é optar por ambientes de produção e de missão crítica. No entanto, você pode usá-lo em seu ambiente local de teste e desenvolvimento para compartilhar, copiar arquivos e pastas.
Recurso:
- Página FTP_Manager do GitHub