¿Cómo puedo suspender temporalmente a algunos usuarios, ocultándolos de la pantalla de inicio de sesión?

9

Tengo que administrar una estación de trabajo OSX compartida que es utilizada por un elenco rotativo de personajes durante todo el año. La pantalla de inicio de sesión se vuelve rápidamente engorrosa cuando los usuarios que ni siquiera están cerca por un tiempo aparecen y abarrotan el torpe desplazamiento horizontal.

¿Cómo puedo limpiar la pantalla de inicio de sesión sin eliminar las cuentas que tendrían que volver a crear más adelante?

Además, cuando alguien se va por un período prolongado, me gustaría que su cuenta esté bloqueada para que no se pueda usar localmente o remotamente, pero no quiero destruir las contraseñas de los usuarios, cuando regresen, una acción administrativa rápida debería obtener ¿De nuevo en el sistema?

Caleb
fuente

Respuestas:

17

Esto se puede lograr utilizando una función del sistema de inicio de sesión basado en Unix que asigna un programa para ejecutarse con éxito en el inicio de sesión. Normalmente, los usuarios de OSX tienen su shell definido como /bin/bash. La ventana de inicio de sesión del sistema operativo se asegurará de que las personas tengan un shell utilizable antes de mostrarlas en la pantalla de inicio de sesión.

Puede deshabilitar a un usuario, revocando tanto su capacidad de inicio de sesión como su apariencia en la lista de usuarios de la ventana de inicio de sesión, cambiando el shell a /usr/bin/false.

La configuración se encuentra en Preferencias del sistema -> Usuarios y grupos -> (Desbloquee la configuración si es necesario) -> Haga clic derecho en un usuario -> Opciones avanzadas -> Shell de inicio de sesión .

Volver a habilitar al usuario es tan simple como volver a configurarlo /bin/bash.

Anexo: En versiones posteriores de OS-X, restaurar usuarios desactivados de esta manera se vuelve un poco más complicado.

  • A partir de 10.7, los usuarios tampoco se muestran en el panel de administración de forma predeterminada. Puede restaurarlos manualmente utilizando la configuración de su shell utilizando el chshcomando estándar de Unix en una terminal:

    sudo chsh <username> /bin/bash
  • A partir de 10.9, la chshutilidad tampoco está disponible, pero puede configurar el shell utilizando una utilidad especial OSX en el terminal:

    sudo chpass -s /bin/bash <username>
Caleb
fuente
¿Cómo configuro esto nuevamente en / bin / bash? El usuario deshabilitado ya no se muestra en la lista de usuarios de la ventana de inicio de sesión.
Will Sargent
@WillSargent Por supuesto, no se muestran en la ventana de inicio de sesión, eso es lo que desactivó, pero aún deberían mostrarse en el widget de usuarios administradores del sistema.
Caleb
Usé "sudo chsh <username>" desde la línea de comando. :-)
Will Sargent
Intenté este proceso y el usuario ya no está en la lista de administración de usuarios. ¿Cómo puedo reactivar al usuario? Simplemente hace que el usuario desaparezca tanto de la pantalla de inicio de sesión como de la pantalla de administración. Esta es una solución extremadamente pobre y no es manejable con la información proporcionada anteriormente. Vuelvo a simplemente proporcionar un interruptor de "Deshabilitar usuario" en las pantallas de administración del usuario. NO INTENTE ESTO en OSX 10.7
1
Intente sudo chsh <username> /bin/basho publique una pregunta propia preguntando qué sucedió en 10.7 con respecto a esto (aunque creo que es lo mismo).
Caleb
2

La respuesta de Caleb es correcta y oculta a estos usuarios de la ventana de inicio de sesión.

Sin embargo, al menos en mi instalación de OSX 10.9 Mavericks, esos usuarios también desaparecen del panel de administración del sistema, por lo que es imposible hacer que vuelvan a la vida. Además, el uso chshcomo solución alternativa tampoco ayuda, ya que no está disponible en 10.9.

Pude traerlos de vuelta usando:

sudo chpass -s /bin/bash <username>

en la línea de comando.

Holger
fuente