Cómo crear y restringir un usuario en una carpeta en Ubuntu 18.04 LTS

27 feb 2021 2 min di lettura
Cómo crear y restringir un usuario en una carpeta en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

El administrador del sistema puede brindarles a sus usuarios la capacidad de cargar archivos de forma segura en el servidor. La forma más común de hacer esto es permitir la transferencia de archivos a través del Protocolo de transferencia segura de archivos (SFTP). De forma predeterminada, los usuarios de SSH pueden ver todos los archivos del servidor.

En esta guía veremos cómo crear un usuario y encarcelarlo en una carpeta (directorio) de nuestra elección.

Puede ser útil crear un usuario con acceso al servidor web Apache2 sin darle la capacidad de subir de nivel y luego explorar los archivos del servidor.

Veamos cómo hacerlo.

Prerrequisitos

Instalación de Apache 2. o Nginx.

Configurar OpenSSH

Para restringir a un nuevo usuario, necesitamos realizar cambios en el archivo de configuración SSH.

Abramos el siguiente archivo:

sudo nano /etc/ssh/sshd_config

Busquemos la línea Subsystem sftp y modifiquémosla de la siguiente manera:


Subsystem sftp internal-sftp

Agreguemos las siguientes líneas al final del archivo:


Match Group jail_user
 ChrootDirectory /var/www
 X11Forwarding no
 AllowTcpForwarding no
 ForceCommand internal-sftp

Guarde y cierre el archivo.

Reinicie el servicio SSH (OpenSSH)

sudo service ssh restart

Crea un nuevo usuario

Para crear un nuevo usuario de terminal, emita este comando:

sudo useradd ftpuser

Si no se lo solicita el comando anterior, cree una contraseña para el nuevo usuario:

sudo passwd ftpuser

Crea un nuevo grupo y administra los permisos

Cree un grupo de sistema para los usuarios a los que desea restringir el acceso SFTP:

sudo addgroup --system jail_user

Ahora cambie la cuenta de usuario que desea restringir. Tenga en cuenta que esto evitará que estos usuarios inicien sesión en una sesión de shell remota.

Agregue el nuevo usuario al grupo recién creado:

sudo usermod -G jail_user ftpuser

Asegurémonos de que los permisos del servidor web Apache sean correctos:

sudo chown root:root /var/www
sudo chmod 755 /var/www

Cambie los permisos de archivo en la carpeta raíz de Apache:

cd /var/www
sudo chown ftpuser:jail_user *

Puede otorgar acceso completo al usuario recién creado con el siguiente comando:

sudo adduser ftpuser www-data
sudo chown -R www-data:www-data /var/www/html
sudo setfacl -R -mu:ftpuser:rwx /var/www/html

El primer comando agregará al usuario al grupo www-data, el segundo cambiará el propietario de todos los directorios y archivos en la siguiente ruta /var /www /html y el tercero habilitará los permisos de escritura.

Ahora puede iniciar sesión con el nuevo usuario a través de SFTP directamente en el directorio elegido sin la capacidad de subir de nivel entre carpetas.

La configuración está terminada.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.