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


19

シェルを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

何が間違っているのでしょうか?どうすれば修正できますか?


引数なしで 'chsh'をzolとして実行しようとしましたか?
ジョージM

ldap / nisなどのようなものを使用していますか?
ウルリッヒダンゲル

さらに重要なこと:なぜもっと情報が得られないのですか?このメッセージはベテランのシスオペにとっては問題ないかもしれませんが、ほとんどの人にとってはまったく失礼です。私は5年後に同じ問題に直面していますが、なぜLinuxが過去20年間デスクトップではなく費やしたのか疑問に思っています。
フルビウス

シェルが即座に変わると予想していましたか?ログインシェルchshで変更します。つまり、再度ログインする必要があります。
クサラナンダ

回答:


17

情報を変更しようとしたときに/ 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

6
適切なファイルロックを設定するvipw代わりに使用してくださいvim
ウルリッヒダンジェル

「/ etc / passwdを開いている場合、ユーザーアカウントの変更は保存されません」—なぜですか?
タナトス

それも動作しません。Linux仮想マシン(centos7)を再起動すると、大丈夫です!
WeizhongTu

1

表示する場合、「chsh -l」を実行するタイミング:

/usr/bin/zsh
/bin/zsh

次に使用します:

chsh -s /usr/bin/zsh

警告:コマンドはFedora 25で実行されました。ubuntunでは、オプション「-l」が無効になっています。


-l私にとっては無効なオプションです。私はUbuntu 16.04
byxor

申し訳ありませんが、コマンドが機能するディストリビューションに関する情報は提供しません。私の場合、Fedora 25でテストしました。ubuntuで試して、オプション「-l」が無効であることを確認します。
lourencoccc

とにかく、chsh -s完璧に機能しました。ありがとう。
-byxor

このオプションはManjaroで有効ですが、シェルの変更を拒否します。
フルビウス

0

を見るchsh: Shell not changed.と、シェルがすでに変更されていることを意味している可能性があります。

リストされているシェルを確認します。

cat /etc/passwd | grep `cd; pwd`

正しい場合は、ログアウトしてから再度ログインし、変更を有効にします。


0

ただこれに遭遇しました。何をログインおよびバックアウトしても、シェルは変更されませんが、/ etc / shellsおよび/ etc / passwdにリストされています。

ついに私は夜明けしました:たぶん私は別のセッションでログインしていますか?

だから私はやった

# who

そして、他のマシンから実際に他の開いているセッションがあることを検証しました:

dom  pts/0        Nov 6 13:53 (10.1.6.121)
dom  pts/1        Nov 5 12:30 (10.1.6.165)
dom  pts/2        Nov 4 12:33 (10.1.6.197)

私はそれから:

pkill -KILL -u dom

すぐにログアウトし、ログインし直した後、出来上がり!シェルが変更されました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.