Wie ändere ich die Standard-Shell eines Benutzers in OSX?
Was ist die richtige OSX-Methode zum Ändern der Standard-Shell eines Benutzers? Als ich danach googelte, fand ich mehrere Verweise auf eine Anwendung namens NetInfo Manager, konnte sie jedoch auf meinem System nicht finden. Es gab auch Verweise auf eine Befehlszeilenversion namens niutil, die ich auch nicht gefunden habe.
4 answers
Für
Für >=10.5
- Gehe zu Systemeinstellungen - > Konten
- Klicken Sie auf das Schlosssymbol, um den Einstellungsbereich zu entsperren
- Rechtsklick (oder Control-click) auf Benutzer und wählen Sie "erweiterte Optionen"
- Login-Shell-Feld bearbeiten
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-06 10:16:29
sudo chsh -s /path/to/shell username
Wobei Shell diejenige ist, die Sie für diesen Benutzer wünschen. sudo
wird nicht benötigt, wenn Sie das Passwort von username
kennen.
man chsh
Für weitere Beispiele.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-08-05 19:11:48
NetInfo wurde durch Directory Services (dscl) ersetzt und es kann festgestellt werden, dass die Standard-Shell für Mac OS X seit 10.3 bash ist. Davor war es tcsh.
Wenn Sie dies über die Befehlszeile tun müssen (zB. zum Beispiel über ARD oder remote über SSH) können Sie Folgendes ausführen:
sudo dscl localhost -change /Local/Default/Users/USERNAME shell OLD_SHELL NEW_SHELL
#In Use:
sudo dscl localhost -change /Local/Default/Users/chealion shell /bin/bash /bin/zsh
Wenn Sie sich der aktuellen Shell nicht sicher sind, können Sie Folgendes ausführen:
sudo dscl localhost -read /Local/Default/Users/USERNAME shell
Wenn der Benutzer kein lokaler Benutzer ist, ändert sich der Pfad einfach und bei Bedarf würden Sie localhost
in den Namen Ihres Open ändern Verzeichnisserver. (Vorausgesetzt, es läuft 10.5).
Die Informationen sind gespeichert in .plist (xml) in /private/var/db/dslocal/
- Sie möchten die Plist-Dateien jedoch nicht von Hand bearbeiten.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-06-06 16:12:58
Für 10.10:
Nicht shell
sondern UserShell
:
sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-09-25 15:50:19