01 - Instale o vsftpd
yum install vsftpd -y
ou
dnf install vsftpd -y
02 - Agora inicie o VSFTPD e habilite para iniciar automaticamente na inicialização, usando os seguintes comandos;
systemctl start vsftpd
systemctl enable vsftpd
03 - Use os comandos abaixo para abrir as portas FTP no Firewall do Servidor, para que ele possa ser conectado;
firewall-cmd --add-service=ftp --permanent --zone=public
firewall-cmd --reload
04 - Use o comando a seguir para crie um usuário (onde o usuario pode ser substituído por qualquer nome que você queira);
useradd usuario
05 - Definia senha para o usuário que você criou;
passwd usuario
06 - Acesse com o editor de texto o path /etc/vsftpd e realize uma copia de segurança do arquivo vsftpd.conf
cd /etc/vsftpd
cp -rv vsftpd.conf bkp-vsftpd.conf
07 - Agora acesse o arquivo vsftpd.conf e no final dele você terá as seguintes configurações:
===================================================================================
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
# Make sure, that one of the listen options is commented !!
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
===================================================================================
08 - Comente o as linhas abaixo:
# pam_service_name=vsftpd
# userlist_enable=YES
09 - E adicione o trecho :
==========================================
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=YES
tcp_wrappers=NO
# PATH de compartilhamento
local_root=/home/usuario/Dados
chroot_local_user=YES
allow_writeable_chroot=YES
# Setup the virtual users config folder
user_config_dir=/etc/vsftpd/user_config_dir/
=========================================
10 - Em # PATH de compartilhamento você editará o local_root=/home/usuario/ informando o seu usuario de ftp.
Crie a árvore de diretórios abaixo para adicionar a lista de usuários:
mkdir -p /etc/vsftpd/user_config_dir/
11 - Acesse o path /etc/vsftpd/user_config_dir/ e adicione um usuario ftp, crie um arquivo com o nome do seu usuário informando os seguintes dados:
# Usuario FTP
local_root=/home/usuario/Dados
chroot_local_user=YES
12 - Lembrando que local_root=/home/usuario/Dados é o local onde os asquivos estarão disponíveis
Para que outros usuarios ftp acessem o Path /home/usuario/Dados conceda a permissão 775 ao Path
chmod 775 -R usuario
Adicionando um novo usuário FTP
01 - Para adicionar um novo usuário ao ftp crie um usuário linux, configure a senha dele, acesse e crie um novo arquivo com o nome do novo usuario ftp add os dados abaixo:
cd /etc/vsftpd/user_config_dir/
vi novo-user-ftp
================================
# Usuario FTP
local_root=/home/usuario/Dados
chroot_local_user=YES
================================
02 - Adicione o novo usuario ftp ao grupo do usuario existente que você deseja compartilhar
gpasswd -a novo-user-ftp grupo-do-usuario-ftp-old
03 - Verifique se o novo usuario ftp já esta adicionado ao grupo do usuario ftp
id novo-user-ftp
04 - Reinicie o serviço de FTP
systemctl restart vsftpd
Basta logar com o usuario que desejar.
Teste a conexão FTP usando um cliente como o FileZilla (use seu nome de host do servidor ou o endereço IP dele, e o nome de usuário e senha criado).