
我正在設定一台新的開發 Macbook Pro,並嘗試用 zsh 取代 bash。我安裝了 zsh 並可以運行它來更改會話中的 shell。當我使用
sudo chsh -s /bin/zsh username
我收到錯誤訊息:
chsh:操作被拒絕,因為目前憑證沒有適當的權限。操作被拒絕,因為目前憑證沒有適當的權限。
AFAIK 我擁有機器的管理員權限。可能是什麼原因造成的?
答案1
我剛才遇到了這個問題。我可以確認 /etc/shells 列出了“/bin/zsh”,因此 David Schwartz 的答案不適用於我的情況。Macworld 有針對 Mac OS 10.5 的提示它似乎也適用於 10.6。讓我們複製連結的資訊!
若要變更 Leopard 中帳戶的登入 shell,請執行以下操作...
在「系統偏好設定」的「帳戶」窗格中按住Control 鍵並點擊您的帳戶名稱,然後在出現的上下文功能表中選擇「進階選項」(您必須先透過點擊鎖定圖示來解鎖該窗格)。
在出現的「進階選項」畫面中,輸入您的首選 shell 的路徑,或在 /bin 中已安裝的各種 shell 中進行選擇:bash、tcsh、sh、csh、zsh 或 ksh。最後,按一下“確定”。
「進階選項」畫面頂部的註解聲稱您必須重新啟動才能使變更生效,但您實際上只需要登出並重新登入即可。
答案2
您忘記更新/etc/shells
或類似地列出允許使用者設定的 shell 集的任何表。
答案3
chsh
報告“操作被拒絕,因為當前憑證沒有適當的權限。”也適用於網路帳戶。我必須將 iMac 上的使用者 Active Directory 帳戶升級為行動帳戶,才能使用chsh
或按住 Control 鍵點擊「使用者和群組」設定才能運作。