LoginSignup
0
0

More than 3 years have passed since last update.

[linux] sudo su しようとしたら /usr/local/bin/zsh を実行できなとき

Posted at

はじめに

sudoでコマンドが見つかりませんになったので
suしてrootユーザのパスを設定しようと思ったら拒否られたので調べました

原因

bashからzshに移行したさいに手違いでrootのデフォルトシェルが/usr/local/bin/zshになってしまったか、そもそもrootシェルの設定をしてないが原因とみられる

rootパスを設定していないので、chshでrootシェルを設定できるはずがない!

実際のパス
❯ echo $SHELL                                      
/usr/bin/zsh

まずシェルを変更する

sudo chsh root -s /usr/bin/zsh

認証失敗のとき

sudo chsh root -s /usr/bin/zsh
chsh: PAM: 認証失敗

/etc/pam.d/chshを編集してシェルを変更できるようにする。

#
# The PAM configuration file for the Shadow `chsh' service
#

# This will not allow a user to change their shell unless
# their current one is listed in /etc/shells. This keeps
# accounts with special shells from changing them.


# ここをコメントアウトする
# auth       required   pam_shells.so

この状態でもう一度sudo chsh root -s /usr/bin/zshすれば変更できる。
変更できたら、コメントコメントアウトした行を元にもどす。

rootパスを変更する

$ sudo su -
$ passwd root

新しい UNIX パスワードを入力してください: xxx
新しい UNIX パスワードを再入力してください: xxx
passwd: パスワードは正しく更新されました

$ exit
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0