Shell

當 chsh 不存在時如何設置預設 shell

  • May 15, 2014

我有一個執行 Busybox 的 Synology DS412+ NAS 盒子,它的預設外殼為ash. 以前,ipkg install optware-devel已執行並已安裝bash並將其設置為預設 shell。Runningipkg install zsh已安裝zsh但未將其設置為預設 shell。chsh不存在(Busybox 假定係統是精簡的,只會ash被使用),那麼如何設置預設 shell?

對於任何幫助或見解,我將不勝感激。

您可以通過編輯更改登錄 shell /etc/passwd。每一行都是一個冒號分隔值的列表,最後一個是登錄 shell:

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

如果/etc/shells存在,您應該將 zsh(完整路徑)添加到它,否則某些服務可能不適用於您的使用者。

筆記:

zsh如果安裝在其中一個磁碟上,我建議不要更改 root(或出於管理目的需要的任何使用者)的登錄 shell 。您可能希望在未安裝磁碟的情況下仍具有 root 訪問權限。

您總是可以zsh從 ash 的使用者配置自動啟動。類似的東西

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

引用自:https://serverfault.com/questions/595314