Mit*_*ril 36 command-line password chsh
今天我尝试切换到另一个shell。
首先我尝试了fish,并用于chsh -s fish将fish更改为默认值。过了一段时间我发现它不能用~/.bashrc(&&需要用and代替)。
因为我更喜欢重用~/.bashrc,我发现zsh这似乎更容易,并按照此文档切换到zsh.
当我正在跑步时sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)",突然它要求我进入Password:。我输入了 root 密码,但得到了PAM: Authentication failure.
然后我试图chsh -s bash和chsh -s zsh,它总是让我输入密码,抛PAM: Authentication failure(不系统密码)。我想不通。
Mit*_*ril 55
感谢Server Fault 上的这个问题,我通过以下方式解决了这个问题:
更改/etc/pam.d/chsh:自:
auth required pam_shells.so
Run Code Online (Sandbox Code Playgroud)
到
auth sufficient pam_shells.so
Run Code Online (Sandbox Code Playgroud)
然后它不再要求输入密码。但我认为切换shell后恢复chsh设置更好。
小智 6
使用which zsh找到你的zsh位置。
$ which zsh
/usr/bin/zsh
Run Code Online (Sandbox Code Playgroud)添加/usr/bin/zsh到/etc/shells
检查/etc/passwd您的配置是否为/usr/bin/zsh
跑 chsh -s /usr/bin/zsh