Jak mogę tymczasowo zawiesić niektórych użytkowników, ukrywając ich przed ekranem logowania?

9

Muszę zarządzać udostępnioną stacją roboczą OSX, z której korzysta rotacyjna obsada postaci przez cały rok. Ekran logowania szybko staje się nieporęczny, gdy na liście znajdują się użytkownicy, którzy nawet nie są w pobliżu, i zaśmiecają niezdarny przewijanie w poziomie.

Jak mogę wyczyścić ekran logowania bez konieczności otwierania kont, które musiałyby zostać ponownie utworzone w późniejszym czasie?

Ponadto, gdy kogoś nie ma na dłuższy czas, chciałbym, aby jego konto zostało zablokowane, aby nie można było z niego korzystać lokalnie ani zdalnie, ale nie chcę nuke hasła użytkowników, gdy wrócą, należy uzyskać szybką akcję administratora z powrotem do systemu?

Caleb
źródło

Odpowiedzi:

17

Można to osiągnąć za pomocą funkcji uniksowego systemu logowania, który przypisuje programowi uruchomienie po pomyślnym zalogowaniu. Zwykle użytkownicy OSX mają zdefiniowaną powłokę jako /bin/bash. Okno logowania do systemu operacyjnego upewni się, że ludzie mają użyteczną powłokę przed wyświetleniem ich na ekranie logowania.

Możesz wyłączyć użytkownika - odwołując zarówno jego zdolność do logowania, jak i jego wygląd na liście użytkowników okna logowania - zmieniając powłokę na /usr/bin/false.

Ustawienia znajdują się w Preferencjach systemowych -> Użytkownicy i grupy -> (W razie potrzeby odblokuj ustawienia) -> Kliknij użytkownika prawym przyciskiem myszy -> Opcje zaawansowane -> Powłoka logowania .

Ponowne włączenie użytkownika jest tak proste, jak przywrócenie tego ustawienia /bin/bash.

Dodatek: W późniejszych wersjach OS-X przywracanie nieaktywnych użytkowników w ten sposób staje się nieco bardziej skomplikowane.

  • Począwszy od 10.7 użytkownicy również domyślnie nie pojawiają się w panelu administracyjnym. Możesz je przywrócić ręcznie, ustawiając ich powłokę za pomocą standardowej chshkomendy Unix w terminalu:

    sudo chsh <username> /bin/bash
  • Począwszy od 10.9, chshnarzędzie również nie jest dostępne, ale można ustawić powłokę za pomocą specjalnego narzędzia OSX w terminalu:

    sudo chpass -s /bin/bash <username>
Caleb
źródło
Jak ustawić to z powrotem na / bin / bash? Wyłączony użytkownik nie jest już wyświetlany na liście użytkowników okna logowania.
Czy Sargent
@WillSargent Oczywiście, że nie są wyświetlane w oknie logowania - to właśnie wyłączyłeś - ale powinny nadal być widoczne w widżecie administratora systemu.
Caleb
Użyłem „sudo chsh <nazwa użytkownika>” z wiersza poleceń. :-)
Will Sargent
Próbowałem tego procesu i użytkownik nie jest już na liście administracyjnej użytkowników. Jak mogę ponownie aktywować użytkownika? To po prostu powoduje, że użytkownik znika zarówno z ekranu logowania, jak i ekranu administracyjnego. Jest to bardzo słabe rozwiązanie i nie jest możliwe do zarządzania przy pomocy powyższych informacji. Wracam do zwykłego przełączania „Wyłącz użytkownika” na ekranach administratora użytkownika. NIE WYPRÓBUJ TEGO w OSX 10.7
1
Spróbuj sudo chsh <username> /bin/bashlub opublikuj własne pytanie dotyczące tego, co wydarzyło się w 10.7 w związku z tym (chociaż uważam, że jest tak samo).
Caleb
2

Odpowiedź Caleba jest poprawna i ukrywa tych użytkowników w oknie logowania.

Jednak przynajmniej w mojej instalacji OSX 10.9 Mavericks użytkownicy ci znikają również z panelu administracyjnego systemu, uniemożliwiając ponowne kliknięcie. Ponadto użycie chshjako obejście również nie pomaga, ponieważ nie jest dostępne w wersji 10.9.

Udało mi się je przywrócić za pomocą:

sudo chpass -s /bin/bash <username>

w wierszu poleceń.

Holger
źródło