chshを実行してもシェルは変更されません。

chshを実行してもシェルは変更されません。

シェルをbashからzshに変更したいです。

zolユーザーとしてログインした状態で、次のコマンドを実行しようとします。

$ chsh -s /bin/zsh
$ sudo chsh -s /bin/zsh zol
$ su -c 'chsh -s /bin/zsh zol'
# The above all results with:
$ password:
$ chsh: Shell not changed.

# zsh exists in /etc/shells.. 
chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh

何が間違っている可能性がありますか?どうすれば解決できますか?

ベストアンサー1

情報を変更しようとしているときに/ etc / passwdが開いていると(vim / etc / passwd)、ユーザーアカウントの変更は保存されません。

代替案: usermod (例えば zol) を試してみてください。

$ usermod -s /bin/zsh 

または

$ sudo usermod -s /bin/zsh zol

それでも機能しない場合は、/etc/passwd手動で編集してください。

sudo vipw
# set zol's shell to /bin/zsh
:wq

おすすめ記事