![Especificações ECMAScript aprovadas e como o Planilhas Google usou o WasmGC](https://optimuscloud.com.br/wp-content/uploads/2024/06/1719668644_Especificacoes-ECMAScript-aprovadas-e-como-o-Planilhas-Google-usou-o-150x150.png)
Especificações ECMAScript aprovadas e como o Planilhas Google usou o WasmGC
29 de junho de 2024![Retorne ao Rails Way: Instalando Ruby on Rails em 2024](https://optimuscloud.com.br/wp-content/uploads/2024/06/1719672244_Retorne-ao-Rails-Way-Instalando-Ruby-on-Rails-em-2024-150x150.jpg)
Retorne ao Rails Way: Instalando Ruby on Rails em 2024
29 de junho de 2024Para aqueles que ainda não estão no nível de execução de um sistema de construção completo, o File Transfer Protocol (FTP) ainda está vivo e é uma parte importante do cenário tecnológico empresarial. Você pode pensar que usar a nuvem completa é a melhor aposta, mas e aqueles arquivos e pastas que armazenam dados mais confidenciais? Você realmente deseja que eles sejam carregados e baixados de e para um serviço de terceiros sobre o qual você não tem controle?
A resposta deveria ser não.
Você precisa garantir que esses arquivos sejam carregados em um serviço confiável e, às vezes, a única opção é mantê-los na sua LAN.
Se isso parece uma solução viável para você, o Linux está à sua volta (como sempre faz).
Com a ajuda do Secure Shell (SSH), você pode implantar um servidor FTP em minutos. Quero mostrar como isso é feito com AlmaLinux. Com isso resolvido, você poderá mover arquivos de um lado para o outro com SFTP (FTP Seguro) para que possa confiar na transmissão desses dados.
Uma coisa a ter em mente é que se quiser usar este servidor FTP fora da sua LAN, você precisará configurar seu hardware de roteamento para rotear o tráfego para o servidor de hospedagem e deverá permitir o tráfego SSH na rede.
O que você precisará
As únicas coisas que você precisa acompanhar são uma instância em execução do AlmaLinux (ou uma distribuição semelhante, como Red Hat Enterprise Linux, CentOS Stream ou Oracle Linux) e um usuário com privilégios sudo.
Com essas coisas prontas, é hora de configurar.
Dando privilégios Sudo ao seu usuário
Por padrão, novos usuários não são adicionados ao grupo de administração do AlmaLinux. Em vez de mudar para o usuário root para configurar isso, o que pode ser um risco à segurança, sua melhor aposta é adicionar um padrão ao grupo necessário. Para fazer isso, primeiro mude para o usuário root com o su
comando. Depois de fazer isso, emita o comando:
usermod -aG wheel USER
Onde USUÁRIO é o nome do usuário em questão.
Depois de fazer isso, saia do usuário root com o comando exit e, em seguida, efetue logout e login novamente como seu usuário. Esse usuário agora pode trabalhar com sudo.
Crie seu primeiro diretório FTP
Vamos criar um diretório específico que será usado para fins de FTP. O melhor lugar para abrigar isso é no /svr
diretório. Crie um novo diretório com:
sudo mkdir /srv/ftp
Em seguida, você precisará alterar as permissões desse diretório para 701, o que significa:
- O proprietário possui permissões de leitura, gravação e execução (7).
- O grupo não tem permissões (0).
- Outros têm permissão de execução (1).
Altere a permissão com o comando:
sudo chmod -R 701 /srv/ftp
Crie as contas de usuário e grupo necessárias
Agora criaremos um novo usuário e grupo que terá acesso ao novo diretório. Crie o grupo com:
sudo groupadd ftp_users
Agora, crie um usuário com a seguinte configuração:
- Não é permitido fazer login no Linux.
- Pertence ao grupo ftp_users.
- Tem um diretório inicial de
/srv/ftp/update
.
O comando para isso é:
sudo useradd -g ftp_users -d /srv/ftp/upload -s /sbin/nologin USERNAME
Onde USERNAME é o nome do usuário que você deseja adicionar.
Dê ao novo usuário uma senha forte/exclusiva com:
passwd USERNAME
Onde USERNAME é o nome do usuário que você acabou de criar.
Crie o diretório de upload do usuário
A seguir, criaremos um diretório de upload para o novo usuário. Digamos que o novo usuário que você criou seja ftpuser
. Para criar o diretório de upload para esse usuário, emita o comando:
sudo mkdir -p /srv/ftp/ftpuser/upload
Altere a propriedade e as permissões do novo diretório com:
sudo chown -R root:ftp_users /srv/ftp/ftpuser
sudo chown -R ftpuser:ftp_users /srv/ftp/ftpuser/upload
O que fizemos acima foi alterar a propriedade (para usuário e grupo) de /srv/ftp/ftpuser
para enraizar e ftp_users
e, em seguida, altere a propriedade (para usuário e grupo) de /srv/ftp/ftpuser/upload
que ftpuser
e usuários_ftp. Lembre-se, no nosso caso ftp_users
é o grupo e ftpuser
é o usuário. Você pode, é claro, alterá-los para o que quiser/precisar.
Configurar SSH
Agora temos que configurar o SSH para que ele conheça o novo diretório FTP. Abra o arquivo de configuração do daemon SSH com:
sudo nano /etc/ssh/sshd_config
Cole o seguinte na parte inferior do arquivo:
Match Group ftp_users ChrootDirectory /srv/ftp/%u ForceCommand internal-sftp
Salve e feche o arquivo.
Reinicie o SSH com o comando:
sudo systemctl restart sshd
O SSH agora está em execução e reconhece o diretório FTP. É hora de testar seu novo servidor FTP.
Teste o servidor
Vá para outra máquina na sua rede e certifique-se de que o SSH esteja instalado (ou um cliente que inclua SSH/SFTP, como PuTTY). Na janela do terminal, faça login com ftpuser
(ou o nome que você deu ao novo usuário) assim:
sftp ftpuser@SERVER
Onde SERVER é o endereço IP do servidor FTP.
Deverá ser solicitada a senha do ftpuser, que você criou acima. Se for bem-sucedido, você verá um prompt semelhante a este:
sftp>
Mude para o diretório de upload com:
cd upload
Digamos que você tenha um arquivo no seu computador local (chamado newstack.txt
e localizado em seu diretório inicial) e deseja carregá-lo no servidor FTP. Para fazer isso, o comando seria algo assim:
put ~/newstack.txt
Ou, diga o newstack.txt
O arquivo está em seu diretório de upload no servidor FTP e você deseja baixá-lo em seu diretório inicial na máquina local. Para isso, o comando é:
get newstack.txt
Se você optar por usar uma GUI, uma coisa a ter em mente é que você terá que configurar suas conexões com a porta 22, pois essa é a porta SSH padrão.
Parabéns, agora você tem um servidor FTP funcional que usa o protocolo SFTP do SSH para enviar e receber arquivos com segurança.
O post Crie um servidor FTP seguro com Linux e SSH apareceu pela primeira vez em The New Stack.