【Linux】SSHでログイン後にsuでrootになれない主な原因3選

管理者ユーザーでログイン後に、rootで作業をしようとしたら、suでパスワードが通らない!という問題の原因と解決方法。

スポンサーリンク




目次

原因1:suコマンドにsetuidされていない

/usr/bin/su の set-user-ID bit を立てれば解決。
rootで以下コマンドを実行。

chmod u+s /usr/bin/su

原因2:パスワードミス

単純に打ち間違い。もしくは記憶違い。
「su: Authentication failure」というエラーがでてれば可能性が高い。
rootでパスワードを再設定。

パスワードが突然変わってた!という人は、chage -lコマンドでパスワードの有効期限切れでないか確認しておく。
【 chage 】コマンド――パスワードの有効期限を設定する/確認する:Linux基本コマンドTips(71) – @IT

それも違う!ということであれば、不正アクセスを疑ってlastとかlogチェックを。

原因3:/etc/pam.d/suの設定ミス

「su: Permission denied」というエラーがでていれば可能性が高い。
/etc/pam.d/suで、suしたいユーザーを許可すればOK。

流行りのsuできるユーザーグループ(wheelとかに)を限定しているなら、以下の行を有効化させる。(デフォルトで#が付いているので外す。)

auth required pam_wheel.so use_uid

管理ユーザ(rootになれるユーザ)が1IDしかなかった場合

上の対策は、すべてrootになって修正する必要がある。
sshd_configを弄っていて、そもそもrootでログインできない場合は、以下の対処で乗り切る。

rootのパスワードを変更

OSをシングルユーザモードで起動し、rootのパスワードを変更する。
最近のOS(centos7とか)なら、GRUB2の起動オプションの編集モードからrootのパスワードを変更する。

「sudo su -」でrootになる!

sudoコマンドでsu -を強引にやってとりあえずrootになる。
sudoできるユーザをあらかじめ作成していることが条件。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする