¿Es posible crear un usuario que pueda entrar en servidor ssh y chatear, pero que esté restringido de cualquier otra actividad, es decir, no puede utilizar ningún espacio de disco significativo espacio en disco, no puede acceder al hardware (altavoces, micrófono, cámara), y tal vez incluso se limita a un bajo porcentaje de CPU?
Respuesta
¿Demasiados anuncios?Si el propósito es sólo para apoyar una sola aplicación que hace toda su entrada a través de STDIN
/ STDOUT
debería poder utilizar el viejo truco de UNIX de especificar ese programa como el shell del usuario.
En primer lugar, tendrías que crear una cuenta de usuario para la persona; no creo que puedas utilizar la "cuenta de invitado" incorporada, ya que no sólo creo que existe sólo cuando alguien utiliza el inicio de sesión de la GUI (léase: SSH no lo activará), sino que además no creo que haya un concepto de shell por defecto para invitados.
En segundo lugar, hay que añadir el programa específico (por ejemplo /bin/ttychat
) a la /etc/shells
archivo. Por último, debe especificar ese "shell" como el predeterminado para la cuenta que ha creado.
La idea es que cuando la cuenta SSH se conecte, redirija todos los STDIN
/ STDOUT
para la sesión al shell que especificó. Cuando el programa termine, debería cerrar también la conexión.
He encontrado una pregunta no relacionada en Stack Exchange que muestra cómo añadir shells personalizados a OSX aquí .