Servidor

Como configurar o servidor FTP no CentOS

Como configurar o servidor FTP no CentOS

Configurar um servidor FTP (File Transfer Protocol) em seu PC Linux permitirá que você transfira arquivos entre seu sistema e uma máquina remota. Mostraremos como configurar um servidor FTP no CentOS.

O Linux já tem uma tonelada de servidores FTP de código aberto que você pode usar para o trabalho. Isso inclui servidores populares como PureFTPd, ProFTPD, bem como vsftpd.

Você tem permissão para usar qualquer um dos servidores FTP como quiser. No entanto, neste tutorial, iremos instalar e usar vsftpd, abreviação de Very Secure FTP Daemon. É um servidor FTP rápido, estável e seguro que o ajudará a transferir arquivos de e para um sistema remoto em um instante.

Configurando o servidor FTP no CentOS

Então, sem mais delongas, vamos começar:

Instalando vsftpd

Primeiro, precisaremos instalar o vsftpd no CentOS. Para fazer isso, digite o seguinte comando no terminal:

$ sudo dnf install vsftpd

Instalando vsftpd no CentOS

Com o vsftpd instalado no seu sistema CentOS, você deve configurá-lo para que ele inicie e inicialize automaticamente. Isso pode ser feito usando o seguinte comando:

$ sudo systemctl enable vsftpd --now

Depois de fazer isso, verifique o status do serviço vsftpd digitando este comando:

$ sudo systemctl status vsftpd

Uma tela de saída semelhante à abaixo aparecerá. Você deve ver que o vsftpd não está "ativo" no seu sistema CentOS.

vsftpd ativo e rodando em CentOS

Configurar vsftpd

Com o vsftpd ativo e em execução em seu sistema, você precisará definir as configurações do servidor. Para fazer isso, você precisará acessar o / etc / vsftpd / vsftpd.arquivo de configuração conf. Isso pode ser feito abrindo o arquivo de configuração no editor nano, digitando o seguinte comando no terminal:

$ sudo nano / etc / vsftpd / vsftpd.conf

Com o arquivo agora aberto no editor, há várias mudanças que você precisa fazer para configurar o vsftpd em seu sistema. Vamos examiná-los um por um.

1. Configurar o acesso ao FTP

Primeiro, vamos configurar o servidor FTP para permitir acesso apenas aos usuários locais. Para fazer isso, você precisará encontrar as diretivas anonymous_enable e local_enable no arquivo e editá-las conforme mostrado na imagem abaixo:

Configurações de acesso FTP

Como você pode ver, você precisará definir anonymous_enable = NO e local_enable = YES.

2. Habilitar uploads

Em seguida, você precisará configurar o servidor FTP para permitir o upload e a exclusão de arquivos.

Para fazer isso, você precisará localizar a diretiva write_enable e alterá-la para YES, conforme mostrado na imagem.

Opção para habilitar uploads vsftpd

3. Limitar logins de usuário

Uma vez feito isso, você desejará limitar o número total de logins de usuários i.e., você só deseja que alguns usuários façam login no seu servidor FTP. Para fazer isso, primeiro, localize esta linha no .arquivo conf - userlist_enable = YES. Depois disso, adicione estas duas linhas ao arquivo:

userlist_file = / etc / vsftpd / user_list userlist_deny = NÃO

Use a imagem abaixo como referência:

Configurações para limitar logins de usuários

Você também pode escolher ativar esta opção. Se você fizer isso, você terá que especificar explicitamente quais usuários você deseja dar acesso ao servidor FTP. Para permitir os usuários, você precisará adicionar seus nomes de usuário ao arquivo / etc / vsftpd / user_list com apenas um nome de usuário em cada linha.

4. Configurar conexões passivas de FTP

Você também pode querer configurar conexões passivas de FTP.

Como tal, aqui mostraremos como você pode especificar os intervalos mínimo e máximo das portas, adicionando algumas linhas dentro do .arquivo conf.

Configurando conexões passivas de FTP

Tudo que você precisa fazer é rolar para baixo até o final do arquivo e adicionar essas duas linhas, como mostrado na imagem.

pasv_min_port = 30000 pasv_max_port = 31000

Também discutiremos como você pode abrir o intervalo em seu firewall posteriormente neste tutorial.

5. Configure transmissões seguras usando SSL / TLS

Finalmente, surge a questão de proteger a conexão FTP usando SSL / TLS. Para fazer isso, você precisará ter um certificado SSL e configurar seu servidor FTP para usá-lo.

No entanto, por causa deste tutorial, iremos gerar um certificado SSL autoassinado usando a ferramenta OpenSSL e, em seguida, usá-lo para criptografar nossa transmissão FTP.

Portanto, primeiro as coisas primeiro, você precisará usar o OpenSSL para gerar um novo certificado SSL. Você pode fazer isso digitando o seguinte comando no terminal:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa: 2048 -keyout / etc / vsftpd / vsftpd.pem -out / etc / vsftpd / vsftpd.pem

Criação de um certificado OpenSSL autoassinado no CentOS

Executar o comando acima irá gerar uma chave privada de 2048 bits, bem como um certificado autoassinado. Ambos são válidos por dez anos e salvos no mesmo arquivo.

Depois de criar seu novo certificado SSL, abra o arquivo de configuração vsftpd usando o comando anterior:

sudo nano / etc / vsftpd / vsftpd.conf

Role para baixo e adicione as seguintes linhas, conforme mostrado na imagem:

rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = SIM

Definição de configurações de SSL para vsftpd

E é isso. Você configurou com sucesso o certificado SSL para o seu servidor FTP.

6. Finalizar

Uma vez feito isso, verifique novamente o arquivo de configuração vsftpd para ver se todas as configurações a seguir estão como estão:

anonymous_enable = NO local_enable = SIM write_enable = SIM local_umask = 022 dirmessage_enable = SIM xferlog_enable = SIM connect_from_port_20 = SIM xferlog_std_format = SIM ouvir = NO listen_ipv6 = SIM pam_service_name = vsftpd userlist_enable = SIM userlist_file = / etc / vsftpd / USER_LIST userlist_deny = NO pasv_min_port = 30.000 pasv_max_port = 31000 rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = SIM

Depois de ter certeza de que todas as alterações acima foram feitas no arquivo, você precisará salvá-lo. Depois de salvar, reinicie o serviço vsftpd usando o seguinte comando:

$ sudo systemctl restart vsftpd

Configure o Firewall

Se você tiver um firewall habilitado junto com o servidor FTP, então você precisa configurar o firewall para que permita as transmissões FTP.

Para fazer isso, você precisará inserir os seguintes comandos no terminal:

$ sudo firewall-cmd --permanent --add-port = 20-21 / tcp

O comando acima abre a porta 21 - que é a porta de comando FTP, e a porta 20 - que é a porta de dados FTP.

Você também precisará inserir este comando:

$ sudo firewall-cmd --permanent --add-port = 30000-31000 / tcp

Este comando abre o intervalo de portas passivas 30000-31000, que configuramos anteriormente.

Permitindo que o servidor vsftpd passe pelo firewall CentOS

Uma vez feito isso, você precisará recarregar o firewall usando o seguinte comando:

$ firewall-cmd --reload

Como criar um novo usuário FTP

Agora que você configurou seu servidor vsftpd em seu sistema CentOS, é hora de criar um novo usuário de FTP e testá-lo.

Primeiro, vamos criar um novo usuário FTP (newftpuser) usando o seguinte comando:

$ sudo adduser newftpuser

Em seguida, você precisará definir uma senha para o novo usuário. Para fazer isso, use este comando:

$ sudo passwd newftpuser

Certifique-se de que a senha seja forte e com mais de oito caracteres.

Criação de um novo usuário de FTP

Depois de criar o novo usuário, você precisará adicioná-lo à lista de usuários do FTP. Isso pode ser feito digitando o seguinte comando no terminal:

$ echo "newftpuser" | sudo tee -a / etc / vsftpd / user_list

Finalmente, você precisará criar uma árvore de diretórios FTP onde definirá todas as permissões corretas. Para fazer isso, você precisará inserir a seguinte série de comandos no terminal:

$ sudo mkdir -p / home / newftpuser / ftp / upload $ sudo chmod 550 / home / newftpuser / ftp $ sudo chmod 750 / home / newftpuser / ftp / upload $ sudo chown -R newftpuser: / home / newftpuser / ftp

Crie uma árvore de diretório FTP

Agora, o seu servidor FTP está totalmente funcional e pronto para funcionar. Agora você pode se conectar a ele usando qualquer cliente FTP como o FileZilla. Apenas certifique-se de que o cliente FTP também pode ser configurado para usar a criptografia TLS, uma vez que está sendo usado para criptografar as transmissões FTP.

Desativar acesso Shell

Uma coisa que você deve ter em mente ao criar um novo usuário de FTP é que, a menos que seja explicitamente especificado, o usuário terá acesso SSH ao servidor.

Se você deseja desabilitar o acesso ao shell do usuário, você precisará criar um novo shell que imprimirá uma mensagem informando ao usuário que - “Esta conta está limitada apenas ao acesso FTP.”

Para fazer isso, você precisará inserir o seguinte comando no terminal:

$ echo -e '#!/ bin / sh \ necho "Esta conta é limitada apenas para acesso FTP."'| sudo tee -a / bin / ftponly $ sudo chmod a + x / bin / ftponly

O comando acima irá criar o shell / bin / ftponly e executá-lo.

Em seguida, você precisará anexar o novo shell à lista de shells válidos que estão localizados dentro do / etc / shells Arquivo. Isso é feito usando o seguinte comando:

$ echo "/ bin / ftponly" | sudo tee -a / etc / shells

E como etapa final, tudo o que você precisa fazer é alterar o shell do usuário para / bin / ftponly usando este comando:

$ sudo usermod newftpuser -s / bin / ftponly

Além disso, para quaisquer futuros usuários de FTP, você pode usar o mesmo comando para alterar seu shell de modo que eles só possam ter acesso ao FTP.

Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...
Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...