GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo crear un usuario SFTP con permisos de directorio especificados en Ubuntu 20.04

SFTP significa Protocolo de transferencia segura de archivos que utilizamos para la transferencia segura de datos hacia y desde su sistema local. Funciona sobre el protocolo SSH y, por lo tanto, se considera más seguro que el simple FTP (Protocolo de transferencia de archivos). La transferencia de datos es una tarea rutinaria de todos los administradores de sistemas y otros desarrolladores que necesitan realizar cambios en su código.

Entonces, en el artículo de hoy, mostraremos los pasos detallados para configurar el servidor SFTP y crear usuarios con sus permisos de directorio especificados.

Para la demostración, usamos Ubuntu 20.04 LTS para la configuración de SFTP, pero se pueden realizar pasos similares en caso de que use el sistema operativo RHEL/CentOS.

Requisitos previos:

A partir de los requisitos previos, debemos asegurarnos de tener privilegios de usuario sudo o root en el servidor donde necesitamos crear usuarios SFTP.

Comencemos iniciando sesión en el sistema usando ssh para lo cual puede usar el terminal Putty o Shell de su escritorio Linux.

# ssh -i key.pem [email protected]_server_ip
# sudo -i

También puede iniciar sesión directamente en su sistema, pero asegúrese de usar su propio nombre de usuario y credenciales.

Paso 1:Creación de un nuevo usuario exclusivo de SFTP

Crear un nuevo usuario para SFTP es tan similar como lo hacemos para agregar cualquier otro usuario general. Pero para restringir su uso únicamente con fines SFTP, no lo asignaremos a ningún shell de inicio de sesión.

Ejecute el siguiente comando para crear un usuario SFTP especificando su directorio de inicio personalizado.

# useradd -m -d /home/example.com sftp_user

Establezca la contraseña del usuario recién creado usando el comando 'passwd' como se muestra a continuación.

# passwd sftp_user

Asegúrese de establecer una contraseña compleja para su seguridad. Luego asígnele un shell de nologin modificando el archivo 'passwd' como se muestra a continuación.

# vim /etc/passwd
sftp_user:x:1001:1001::/home/example.com:/usr/sbin/nologin

Guarde y cierre usando :wq! Para aplicar cambios.

Paso 2:Configurar permisos de directorio

Después de crear el nuevo usuario, debemos configurar los permisos de directorio correctos y la propiedad del directorio del usuario que hemos creado en el primer paso.

# chmod 755 /home/example.com/
# chown root:root /home/example.com

Paso 3:restringir el acceso al directorio

Ahora que tenemos un nuevo usuario de SFTP exclusivo, luego debemos restringir su acceso al directorio para que sea accesible a la carpeta de inicio especificada que creamos.

Para hacerlo, vamos a modificar el archivo de configuración de ssh agregando los siguientes parámetros.

# vim /etc/ssh/sshd_config
subsystem sftp internal-sftp

Match User sftp_user

ChrootDirectory %h

AllowTCPForwarding no

X11Forwarding no

PasswordAuthentication yes

ForceCommand internal-sftp

Antes de guardar los cambios realizados, asegúrese de agregar su nombre de usuario en 'Coincidir con el usuario', mientras que '%h' representa el directorio de inicio de su usuario recién creado dentro del entorno restringido. Este 'ChrootDirectory' asegurará que su usuario SFTP no tenga acceso a ningún otro directorio.
Guarde el archivo de configuración ssh, verifique la sintaxis si hay algún problema y luego reinicie sus servicios y confirme si se está ejecutando usando el debajo de los comandos.

# ssh -t
# systemctl restart sshd
# systemctl status sshd

Aquí puede ver que primero hubo un error en el archivo de configuración de ssh que solucionamos comentando la entrada adicional y reiniciando el servicio 'sshd.

Paso 4:Prueba de inicio de sesión SFTP

En este punto, estamos listos para usar nuestro usuario SFTp, pero antes de eso, probémoslo para asegurarnos de que solo tenga acceso SFTP usando el comando ssh.

# [email protected]

Mientras que xx debe reemplazarse con su propia IP de servidor. Como resultado, debería obtener la falla de conexión como se muestra a continuación.

Paso 5:uso del cliente SFTP

Hay un par de clientes SFTP disponibles para usar con el sistema operativo multiplataforma y puede usar su favorito. Vamos a probarlo usando FileZilla, que es uno de los mejores y más útiles clientes FTP/SFTP disponibles para usar. Puedes descargarlo fácilmente desde su enlace oficial.

Abrámoslo en su sistema y proporcionemos la dirección IP de su servidor SFTP junto con su nombre de usuario y contraseña creados.

Una vez que las credenciales sean exitosas, podrá tener acceso a su directorio específico solo donde puede cargar o descargar los datos.

Conclusión:

En este artículo, hemos cubierto los pasos detallados para configurar un nuevo servidor SFTP al realizar cambios en la configuración de ssh, agregar nuevos usuarios y asignar los permisos de directorio necesarios. Puede agregar tantos usuarios como desee o simplemente crear un nuevo grupo y hacer que los nuevos usuarios formen parte de ese grupo.


Ubuntu
  1. Cómo crear un usuario de Postgres

  2. Cómo crear un usuario Sudo en Ubuntu

  3. Cómo crear un usuario con un directorio de inicio personalizado en Linux

  4. Centos:¿cómo crear un usuario Sftp en Centos?

  5. Cómo crear y eliminar usuarios en Ubuntu 16.04

Cómo instalar y crear un blog con Hexo en Ubuntu 20.04

Cómo crear un usuario ssh encarcelado con Jailkit en Debian/Ubuntu

Cómo eliminar un directorio en Ubuntu 20.04

Cómo crear plantillas de sistema operativo Linux con KVM en Ubuntu 20.04

Cómo crear un usuario Sudo en Ubuntu Linux

Cómo crear un nuevo usuario y otorgar permisos en MySQL