Me gustaría crear dos niveles de usuarios para restringir el acceso SFTP: usuarios "principales" y usuarios "infantiles".
Necesito que los usuarios principales puedan acceder a todos los directorios propiedad de los hijos, pero los hijos sólo deberían poder utilizar sus propios directorios.
¿Cómo hago esto en CentOS 6?
Respuesta1
Dado que SFTP es solo FTP sobre SSH, debería poder hacerlo utilizando directorios y grupos de inicio de usuarios. Si creaste 3 usuarios:
parent
childone
childtwo
Podrías configurar sus directorios personales con una estructura como esta:
/home/parent
/home/parent/childone
/home/parent/childtwo
Con permisos:
#> chmod -R 771 /home/parent
#> chown parent:testftp /home/parent
#> chown childone:testftp /home/parent/childone
#> chown childtwo:testftp /home/parent/childtwo
Ahora, si el parent
usuario está en el testftp
grupo y los niños no, parent
deberían poder leer y escribir archivos en sus directorios personales, pero los niños solo pueden modificar los suyos propios.
Acabo de realizar algunas pruebas rápidas en mi caja y parece funcionar bien. Dame un minuto y publicaré los comandos completos para la configuración.
Salida de comando completa:
$> sudo -i
#> mkdir -p /home/parent/{childone,childtwo}
#> groupadd testftp
#> useradd -d /home/parent -M -G testftp parent
#> useradd -d /home/parent/childone -M childone
#> useradd -d /home/parent/childtwo -M childtwo
#> chmod -R 771 /home/parent/
#> chown parent:testftp /home/parent
#> chown childone:testftp /home/parent/childone
#> chown childtwo:testftp /home/parent/childtwo
¡Parece funcionar para mí!