Crie um usuário e dê a ele acesso a um site específico no Ubuntu (Digitalocean+Serverpilot)

Crie um usuário e dê a ele acesso a um site específico no Ubuntu (Digitalocean+Serverpilot)

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.confarquivo 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

informação relacionada