更改用户默认 shell 的正确 OSX 方法是什么?当我用谷歌搜索它时,我发现了几个对名为 NetInfo Manager 的应用程序的引用,但我在我的系统上找不到它。还有对名为 niutil 的命令行版本的引用,我也没有找到。
Cho*_*er3 54
对于 <=10.4 - 网络信息管理器,/users/whoever/shell
>=10.5
chu*_*rnd 36
sudo chsh -s /path/to/shell username
Run Code Online (Sandbox Code Playgroud)
其中 shell 是您想要的那个用户。sudo如果您知道username的密码,则不需要。
man chsh
Run Code Online (Sandbox Code Playgroud)
更多例子。
Che*_*ion 10
NetInfo 已被目录服务 (dscl) 取代,并且可以注意到 Mac OS X 的默认 shell 自 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
Run Code Online (Sandbox Code Playgroud)
如果您不确定当前的 shell,您可以运行:
sudo dscl localhost -read /Local/Default/Users/USERNAME shell
Run Code Online (Sandbox Code Playgroud)
如果用户不是本地用户,路径将简单地更改,如有必要,您可以更改localhost为 Open Directory Server 的名称。(假设它运行 10.5)。
信息存储在 .plist (xml) 中/private/var/db/dslocal/- 但是您不想手动编辑 plist 文件。
小智 8
对于 10.10:
不shell但是UserShell:
sudo dscl localhost -change /Local/Default/Users/USERNAME UserShell /bin/bash /bin/ksh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25746 次 |
| 最近记录: |