Crear un usuario y darle acceso a un sitio web específico en Ubuntu (Digitalocean+Serverpilot)

Crear un usuario y darle acceso a un sitio web específico en Ubuntu (Digitalocean+Serverpilot)

Soy un poco novato en programación y me gustaría pedir ayuda en este foro, porque ya he buscado en varios sitios y no la encuentro.

Tengo un servidor Ubuntu en Digitalocean con serverpilot instalado. Mi único usuario creado allí es "serverpilot", pero un programador solicitó acceso a un sitio que tengo instalado en este servidor. Allí programará una plantilla y hará algunas modificaciones en la base de datos, y como no quería darle inicio de sesión al usuario "serverpilot", le pedí un tiempo para crear un usuario FTP específico solo para que él acceda a este sitio ( sus carpetas y subcarpetas). He estado investigando cómo hacer esto, probé algunos tutoriales, pero todavía estoy atascado.

Logré instalar vsftpd y luego comencé a acurrucarme.

Quiero que este nuevo usuario ftp tenga acceso solo a un sitio específico que está en el directorio "/srv/users/serverpilot/apps/cronegame2/public", y con eso pueda acceder a sus carpetas, subcarpetas, base de datos y poder modificarlos, nada más que esto. Y que sólo puede iniciar sesión a través del puerto 21, por lo que no puede acceder a ROOT.

Por favor ayúdame a lograr esto.

Respuesta1

Para crear un usuario FTP con acceso limitado a un directorio de sitio web específico, puede seguir estos pasos:

Cree un nuevo usuario para acceso FTP:

sudo adduser ftpuser

Establezca una contraseña para el nuevo usuario.

Cree un nuevo grupo para acceso FTP:

sudo groupadd ftpaccess

Agregue el usuario FTP al nuevo grupo:

sudo usermod -aG ftpaccess ftpuser

Cambie la propiedad del directorio del sitio web al nuevo grupo:

sudo chown -R serverpilot:ftpaccess /srv/users/serverpilot/apps/cronegame2/public

Cambie los permisos del directorio del sitio web para permitir que el nuevo grupo lea, escriba y ejecute:

sudo chmod -R g+rwx /srv/users/serverpilot/apps/cronegame2/public

Configure vsftpd para permitir el acceso solo al directorio específico y restringir el acceso al directorio raíz:

Edite el /etc/vsftpd.confarchivo y agregue las siguientes líneas al 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

Finalmente cree el archivo /etc/vsftpd.allowed_users y agréguele el usuario FTP:

sudo sh -c "echo 'ftpuser' >> /etc/vsftpd.allowed_users

información relacionada