Wie kann ich einige Benutzer vorübergehend sperren und sie vor dem Anmeldebildschirm ausblenden?

9

Ich muss eine gemeinsam genutzte OSX-Workstation verwalten, die das ganze Jahr über von rotierenden Charakteren verwendet wird. Der Anmeldebildschirm wird schnell umständlich, wenn Benutzer aufgelistet werden, die eine Weile nicht einmal da sind, und die ungeschickte horizontale Schriftrolle überladen.

Wie kann ich den Anmeldebildschirm bereinigen, ohne Konten zu zerstören, die zu einem späteren Zeitpunkt neu erstellt werden müssten?

Wenn jemand für einen längeren Zeitraum weg ist, möchte ich außerdem, dass sein Konto gesperrt wird, damit es nicht lokal oder remote verwendet werden kann. Ich möchte jedoch keine Benutzerpasswörter zerstören, wenn sie zurückkommen und eine schnelle Administratoraktion erhalten sollte sie wieder ins System?

Caleb
quelle

Antworten:

17

Dies kann mithilfe einer Funktion des Unix-basierten Anmeldesystems erreicht werden, die ein Programm zuweist, das bei erfolgreicher Anmeldung ausgeführt werden soll. Normalerweise haben Benutzer in OSX ihre Shell definiert als /bin/bash. Das Anmeldefenster des Betriebssystems stellt sicher, dass die Benutzer über eine verwendbare Shell verfügen, bevor sie auf dem Anmeldebildschirm angezeigt werden.

Sie können einen Benutzer deaktivieren und sowohl seine Anmeldefähigkeit als auch sein Erscheinungsbild in der Benutzerliste des Anmeldefensters widerrufen, indem Sie die Shell in ändern /usr/bin/false.

Die Einstellungen finden Sie unter Systemeinstellungen -> Benutzer & Gruppen -> (Einstellungen bei Bedarf entsperren) -> Rechtsklick auf einen Benutzer -> Erweiterte Optionen -> Anmeldeshell .

Das erneute Aktivieren des Benutzers ist so einfach wie das Zurücksetzen auf /bin/bash.

Nachtrag: In späteren Versionen von OS-X wird das Wiederherstellen von Benutzern, die auf diese Weise deaktiviert wurden, etwas komplizierter.

  • Ab 10.7 werden die Benutzer standardmäßig auch nicht mehr im Admin-Bereich angezeigt. Sie können sie manuell wiederherstellen, indem Sie die Shell mit dem Standardbefehl Unix chshin einem Terminal festlegen:

    sudo chsh <username> /bin/bash
  • Ab 10.9 ist das chshDienstprogramm ebenfalls nicht verfügbar. Sie können die Shell jedoch mithilfe eines speziellen OSX-Dienstprogramms im Terminal festlegen:

    sudo chpass -s /bin/bash <username>
Caleb
quelle
Wie setze ich dies zurück auf / bin / bash? Der deaktivierte Benutzer wird nicht mehr in der Benutzerliste des Anmeldefensters angezeigt.
Will Sargent
@WillSargent Natürlich werden sie nicht im Anmeldefenster angezeigt - das haben Sie deaktiviert -, aber sie sollten weiterhin unter dem Widget der Systemadministratoren angezeigt werden.
Caleb
Ich habe "sudo chsh <Benutzername>" über die Befehlszeile verwendet. :-)
Will Sargent
Ich habe diesen Vorgang versucht und der Benutzer befindet sich nicht mehr auf der Administrationsliste der Benutzer. Wie kann ich den Benutzer wieder aktivieren? Der Benutzer verschwindet einfach sowohl vom Anmeldebildschirm als auch vom Verwaltungsbildschirm. Dies ist eine äußerst schlechte Lösung und mit den oben angegebenen Informationen nicht zu handhaben. Ich komme zurück, um einfach einen "Benutzer deaktivieren" -Schalter auf den Benutzeradministrationsbildschirmen bereitzustellen.
1
Versuchen Sie, sudo chsh <username> /bin/basheine eigene Frage zu stellen, und stellen Sie die Frage, was in 10.7 in dieser Hinsicht passiert ist (obwohl ich glaube, dass es dasselbe ist).
Caleb
2

Die Antwort von Caleb ist korrekt und verbirgt diese Benutzer vor dem Anmeldefenster.

Zumindest bei meiner Installation von OSX 10.9 Mavericks verschwinden diese Benutzer jedoch auch aus dem Systemadministrationsbereich, sodass es unmöglich ist, sie wieder zum Leben zu erwecken. Darüber hinaus hilft die Verwendung chshals Problemumgehung ebenfalls nicht, da sie in 10.9 nicht verfügbar ist.

Ich konnte sie zurückbringen mit:

sudo chpass -s /bin/bash <username>

in der Kommandozeile.

Holger
quelle