33

Как правильно использовать OSX для изменения оболочки пользователя по умолчанию? Когда я погуглил, я нашел несколько ссылок на приложение под названием NetInfo Manager, но не смог найти его в своей системе. Были также ссылки на версию командной строки под названием niutil, которую я тоже не нашел.

4 ответа4

52

для <= 10,4 - менеджер netinfo, /users /whoever /shell

для> = 10,5

  1. Зайдите в Системные настройки -> Аккаунты
  2. Нажмите на значок замка, чтобы разблокировать панель настроек
  3. Щелкните правой кнопкой мыши (или удерживайте нажатой клавишу "Control") на пользователе и выберите "дополнительные параметры"
  4. Изменить поле логина
33
sudo chsh -s /path/to/shell username

где shell это тот, который вы хотите для этого пользователя. sudo не нужен , если вы знаете пароль username «s.

man chsh

для большего количества примеров.

9

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 вручную.

7

Для 10.10:

не shell а UserShell:

sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .