En mi opinión, esto es muy difícil, si no imposible. Cuando el usuario se conecta a través de SSH, al menos necesita un shell, en su caso el bash
. Para ejecutar /bin/bash
necesita permisos para acceder /bin
. bash
en sí mismo necesita leer algunas cosas de /etc
(por ejemplo /etc/bash.bashrc
), por lo que el usuario también necesita acceso /etc
. Suponiendo que el usuario no solo quiera pasar el rato en este directorio, es posible que desee leer un archivo, sino que para ejecutarlo, por ejemplo vim
, también necesita acceso /usr/bin
.
Esto es solo una pequeña demostración, hay algunas dependencias más, por ejemplo, realmente no sé qué sucederá si el usuario no tiene acceso a /tmp
...
Debes pensar en tu intención. ¿Desea que alguien tenga acceso de lectura / escritura a una parte de su servicio web? Luego, puede configurar algo como FTP para exportar un directorio específico a este usuario. Entonces puede leer / escribir estos archivos sin acceso SSH.
Otra buena solución sería un repositorio. Por ejemplo, configure un repositorio GIT y deje que el usuario lo clone. Él puede hacer sus cambios localmente y enviarle un parche. Puede decidir si desea aplicar este parche o no, una reversión para parches con errores también es muy fácil.