![为什么我尝试 chsh 时会看到“操作被拒绝,因为当前凭据没有适当的权限”?](https://linux22.com/image/1320273/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E5%B0%9D%E8%AF%95%20chsh%20%E6%97%B6%E4%BC%9A%E7%9C%8B%E5%88%B0%E2%80%9C%E6%93%8D%E4%BD%9C%E8%A2%AB%E6%8B%92%E7%BB%9D%EF%BC%8C%E5%9B%A0%E4%B8%BA%E5%BD%93%E5%89%8D%E5%87%AD%E6%8D%AE%E6%B2%A1%E6%9C%89%E9%80%82%E5%BD%93%E7%9A%84%E6%9D%83%E9%99%90%E2%80%9D%EF%BC%9F.png)
我正在设置一台新的开发版 Macbook Pro,并尝试用 zsh 替换 bash。我安装了 zsh,可以运行它来在会话中更改 shell。当我使用
sudo chsh -s /bin/zsh username
我收到错误信息:
chsh:操作被拒绝,因为当前凭据没有适当的权限。操作被拒绝,因为当前凭据没有适当的权限。
据我所知,我拥有该机器的管理员权限。这可能是什么原因造成的?
答案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 键单击才能工作。