Как установить оболочку по умолчанию, если chsh отсутствует

Как установить оболочку по умолчанию, если chsh отсутствует

У меня есть NAS-устройство Synology DS412+ с запущенным Busybox, в котором установлена ​​оболочка по умолчанию ash. Ранее ipkg install optware-develбыл запущен, установлен bashи установлен в качестве оболочки по умолчанию. Запущен ipkg install zshустановил zsh, но не установил в качестве оболочки по умолчанию. chshотсутствует (Busybox предполагает урезанную систему и ashбудет использоваться только она), так как мне установить оболочку по умолчанию?

Буду очень признателен за любую помощь или информацию.

решение1

Вы можете изменить оболочку входа, отредактировав /etc/passwd. Каждая строка представляет собой список значений, разделенных двоеточием, последнее из которых — оболочка входа:

user:x:1000:1000:User:/home/user:/usr/bin/zsh

Если /etc/shellsсуществует, вам следует добавить к нему zsh (полный путь), иначе некоторые службы могут не работать для вашего пользователя.

Примечание:

Я бы не рекомендовал менять оболочку входа для root (или любого пользователя, который вам нужен для административных целей), если zshона установлена ​​на одном из дисков. Возможно, вы захотите иметь root-доступ без установленных дисков.

Вы всегда можете zshавтоматически запуститься из пользовательской конфигурации Эша. Что-то вроде этого

[ -x /usr/bin/zsh ] && exec /usr/bin/zsh

решение2

Другой метод Из этого поста на форуме Synolology:

https://community.synology.com/enu/forum/1/post/150323

В редакторе по вашему выбору (например, nano) добавьте следующие строки в: ~/.profile

экспорт ОБОЛОЧКА=/bin/bash исполнять /bin/bash

где /bin/bash — путь к выбранной вами оболочке

Связанный контент