Sou um pouco novato em programação e gostaria de pedir ajuda neste fórum, pois já procurei em vários lugares e não encontrei.
Tenho um servidor Ubuntu na Digitalocean com serverpilot instalado. Meu único usuário criado aí é o "serverpilot" Mas um programador pediu acesso a um site que tenho instalado neste servidor. Lá ele irá programar um template e fazer algumas modificações no banco de dados, e como eu não queria dar login ao usuário "serverpilot", pedi a ele há algum tempo para criar um usuário FTP específico só para ele acessar esse site ( suas pastas e subpastas). Tenho pesquisado como fazer isso, testei alguns tutoriais, mas ainda estou travado.
Consegui instalar o vsftpd e comecei a enrolar.
Quero que esse novo usuário de FTP tenha acesso apenas a um site específico que está no diretório "/srv/users/serverpilot/apps/cronegame2/public" , e com isso ele possa acessar suas pastas, subpastas, banco de dados e poder modifique-os, nada mais do que isso. E que ele só pode fazer login pela porta 21 para não acessar o ROOT.
Por favor, ajude-me a conseguir isso.
Responder1
Para tornar um usuário FTP com acesso limitado a um diretório de site específico, você pode seguir estas etapas:
Crie um novo usuário para acesso FTP:
sudo adduser ftpuser
Defina uma senha para o novo usuário.
Crie um novo grupo para acesso FTP:
sudo groupadd ftpaccess
Adicione o usuário FTP ao novo grupo:
sudo usermod -aG ftpaccess ftpuser
Altere a propriedade do diretório do site para o novo grupo:
sudo chown -R serverpilot:ftpaccess /srv/users/serverpilot/apps/cronegame2/public
Altere as permissões do diretório do site para permitir que o novo grupo leia, grave e execute:
sudo chmod -R g+rwx /srv/users/serverpilot/apps/cronegame2/public
Configure o vsftpd para permitir acesso apenas ao diretório específico e restringir o acesso ao diretório raiz:
Edite o /etc/vsftpd.conf
arquivo e adicione as seguintes linhas no final:
# Allow access only to the specific directory
chroot_local_user=YES
local_root=/srv/users/serverpilot/apps/cronegame2/public
# Restrict access to the root directory
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.allowed_users
Por fim, crie o arquivo /etc/vsftpd.allowed_users e adicione o usuário FTP a ele:
sudo sh -c "echo 'ftpuser' >> /etc/vsftpd.allowed_users