Si el propósito es solo admitir una aplicación única que realice toda su entrada a través de STDIN
/ STDOUT
, debería poder usar el antiguo truco de UNIX de especificar ese programa como shell del usuario.
En primer lugar, deberías crear una cuenta de usuario para la persona; No creo que pueda usar la "cuenta de invitado" integrada, ya que no solo creo que existe solo cuando alguien usa el inicio de sesión GUI (lea: SSH no lo activará), sino que tampoco Creo que hay un concepto de shell predeterminado para el invitado.
Segundo, debe agregar el programa específico (por ejemplo, /bin/ttychat
) al archivo /etc/shells
. Finalmente, debe especificar que "shell" sea el valor predeterminado para la cuenta que creó.
La idea es que cuando la cuenta SSH inicie sesión, redireccionará todos los STDIN
/ STDOUT
de la sesión al shell que especificó. Cuando el programa termina, también debería cerrar la conexión.
Encontré una pregunta no relacionada en Stack Exchange que muestra cómo agregar shells personalizados a OSX aquí .