Как правильно использовать OSX для изменения оболочки пользователя по умолчанию? Когда я погуглил, я нашел несколько ссылок на приложение под названием NetInfo Manager, но не смог найти его в своей системе. Были также ссылки на версию командной строки под названием niutil, которую я тоже не нашел.
4 ответа
для <= 10,4 - менеджер netinfo, /users /whoever /shell
для> = 10,5
- Зайдите в Системные настройки -> Аккаунты
- Нажмите на значок замка, чтобы разблокировать панель настроек
- Щелкните правой кнопкой мыши (или удерживайте нажатой клавишу "Control") на пользователе и выберите "дополнительные параметры"
- Изменить поле логина
sudo chsh -s /path/to/shell username
где shell это тот, который вы хотите для этого пользователя. sudo
не нужен , если вы знаете пароль username
«s.
man chsh
для большего количества примеров.
NetInfo была заменена Службами каталогов (dscl), и можно отметить, что оболочка по умолчанию для Mac OS X начиная с версии 10.3 была bash. До этого это был tcsh.
Если вам нужно сделать это из командной строки (например, для отправки через ARD или удаленно через SSH), вы можете запустить:
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
Если вы не уверены в текущей оболочке, вы можете запустить:
sudo dscl localhost -read /Local/Default/Users/USERNAME shell
Если пользователь не является локальным пользователем, путь просто изменится, и при необходимости вы измените localhost
на имя вашего Open Directory Server. (Предполагается, что он работает 10,5).
Информация хранится в .plists (xml) в /private/var/db/dslocal/
- однако вы не хотите редактировать файлы plist вручную.
Для 10.10:
не shell
а UserShell
:
sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh