Información:
Crear varios recursos SFTP para diferentes usuaios. Estos usuarios no tendran acceso a dichos recursos.
Creamos los usuarios que vamos a utilizar:
Le modificamos la PWD
Modificamos los permisos para que no puedan iniciar sesión, solo puedan inicar sesion via SFTP
- Usermod –s /bin/false U1
- Usermod –s /bin/false U2
Creamos la carpeta donde se alogaran los diferentes recursos de cada usuario. En nuestro caso esta carpeta la vamos a alojar en
Cambiamos los permisos y el propietario para que sea "root"
- Chmod 755 /home/sftp/
- chmod root:root /home/sftp/
Una vez tenemos la carpeta donde se van a crear los diferentes recursos, crearemos los recursos para casa usuario
- mkdir /home/sftp/U1
- mkdir /home/sftp/U2
Al igual que hemos hecho con la careta "/home/sftp/" le modificamos los permisos con los mismos valores.
- Chmod 755 /home/sftp/U1
- chmod root:root /home/sftp/U1
- Chmod 755 /home/sftp/U2
- chmod root:root /home/sftp/U2
De esta manera cuando indiquemos la ruta a cada usuario del recurso en el servicio SFTP ya no podran acceder al resto de carpetas que no esten dentro de esos directorios.
Dento de cada una de las carpetas crearemos otra carpeta con permisos para cada usuario. Se llamaran: "recurso"
- mkdir /home/sftp/U1/recurso
- mkdir /home/sftp/U2/recurso
A estas se les cambiaran los permisos y el propietario para que este sea el usuario que lo va a utilizar
Permisos:
- Chmod 755 /home/sftp/U1/recurso
- Chmod 755 /home/sftp/U2/recurso
Propietario:
- chmod U1:U1 /home/sftp/U1/recurso
- chmod U2:U2 /home/sftp/U2/recurso
De esta manera ya tenemos los recursos creados, ahora tenemos que cambiar la configuracion del servicio SFTP para que cada usuario acceda al recurso que le corresponde: /etc/ssh/sshd_config
Antes realizaremos una copia del fichero por si hacemos algo mal:
- cp /etc/ssh/sshd_config /etc/ssh/sshd_config_original
Para editarlo podemos hacerlo con "vi"
Al final del documento tenemos que añadir la configuración:
Comentamos esta línea con el: #
- #Subsystem sftp /usr/libexec/openssh/sftp-server
- Subsystem sftp internal-sftp -f AUTH -l VERBOSE
- Match User U2
- ForceCommand internal-sftp
- PasswordAuthentication yes
- ChrootDirectory /var/sftp/U2/recurso
- PermitTunnel no
- AllowAgentForwarding no
- AllowTcpForwarding no
- Match User U1
- ForceCommand internal-sftp
- PasswordAuthentication yes
- ChrootDirectory /var/sftp/U1/recurso
- PermitTunnel no
- AllowAgentForwarding no
- AllowTcpForwarding no
Guardamos los cambios ":wq" y reinicamos el servicio SFTP en la maquina:
Ya podemos acceder a los recursos desde un equipo con SO linux, Unix, Centos, etc...
- sftp [usuario]@[Nombre o IP del servidor]
O desde un sistema Windows, con alguna herramienta de terceros: