質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

解決済

CentOS7、suコマンドでrootにログインできない、パスワードは絶対あっているのになぜ?

teraha
teraha

総合スコア59

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

3回答

0グッド

6クリップ

23819閲覧

投稿2021/04/01 13:03

WindowsのPCでVirtualBox上でCentOS7を使っています。

su
su root
などのコマンドでrootユーザーに切り替えができません。

以下2つのユーザーがいます。
root
taro

taroでログイン中にsuコマンドを使うと、
パスワード入力を求めら、rootのパスワードを入れると
su: Authentication failure
と表示されます。
以前はこの手順でrootに切り替わっていました。

exitコマンドで、taroを一旦ログアウト、
VirtualBoxのターミナル上に
localhost login:
というプロンプトが出てきて
root
と入力しエンター、
Password:
というプロンプトが出てきて
rootのパスワードを入力しエンター。

これでログインできるので
rootのパスワードが間違っている訳ではないです。

確認のために
useradd jiro
passwd jiro
コマンドで新しくjiroというユーザーを作成。

rootでログイン中
su taro
su jiro
どちらも成功。
パスワード入力を求められず、ユーザーが切り替わる。

taroでログイン中
su root
su jiro
どちらも失敗。
パスワード入力を求められ、正しいパスワードを入力したはずなのに
su: Authentication failure

jiroでログイン中
su root
su taro
どちらも失敗。
パスワード入力を求められ、正しいパスワードを入力したはずなのに
su: Authentication failure

rootユーザーに切り替わらないというよりは、suコマンドのパスワード照合処理がうまいくっていないという印象?

suコマンドが使えなくなる現象について、何かご存知でしたらアドバイスをお願いします。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答3

8

自己解決

自己解決。

chmod u+s /usr/bin/su

上記コマンドの実行でsuコマンドが復活しました。

suの実行ファイルの権限、
元は4755(rwsr-xr-x)らしいんですが
777(rwxrwxrwx)になっていました。

suコマンドは、所有者の実行権限がxじゃなくてsじゃないといけない。
実行権限がsだと、所有者以外がsuコマンドを実行した時でも、裏では所有者(root)の権限で処理が走っている。

/usr/share/nginx/html
に権限を追加したくて、横着して
chmod 777 -R /usr
とコマンド実行した記憶があります。
お騒がせしました。

投稿2021/04/01 14:48

編集2021/04/01 14:54
teraha

総合スコア59

tanat, Wtk, nojimage, ockeghem, htsign, miyabi_takatsuk, NatsuHasu👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

otn

2021/04/01 14:58

あー、そりゃだめですね。 別途、同じOSをインストールして、それの/usr以下を見て、/usr以下のパーミッションを全部合わせましょう。 可能なら、データをバックアップして、ゼロからインストールし直した方が良いです。
teraha

2021/04/01 15:09

VirtualBoxで作った試験環境、特に重要なデータも入っていないのでOSから作り直すことにします。 ご協力ありがとうございました。
ockeghem

2021/04/02 01:31

自己解決の内容を書いてくださってありがとうございます。

1

わかりませんけど思いつくところで。
・type su の結果
・ls -l /bin/su の結果
・/etc/passwd と /etc/shadow の root の内容 (出せる範囲で)
・/etc/pam.d/su の内容
・strace su の結果
・env - su の結果 (環境変数をクリアしてやってみる)
・全体的に su - のパターンもやってみる
・/var/log/ になにか出ていないか

投稿2021/04/01 14:17

68user

総合スコア1720

teraha👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

teraha

2021/04/01 15:01

アドバイスありがとうございます。 /bin/su の権限が不足しているのが原因でした。

1

以前出来ていたというなので、違うかも知れませんが、
設定により、wheelグループに属しているユーザーだけがsuでrootになれます。

/etc/pam.d/suwheelの行がコメントかどうか。コメントでなくて有効な場合、

sh

1id 2で、 3uid=1000(foo) gid=1000(foo) groups=1000(foo),10(wheel)

のように、wheelが表示されますか?

投稿2021/04/01 13:44

otn

総合スコア80487

teraha👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

teraha

2021/04/01 14:11 編集

taroは以前からwheelグループに追加済。 idコマンドで、groupsに10(wheel)が表示されます。 usermod -aG wheel jiro 上記コマンドでjiroもwheelに追加しました。 状況は変わらず。 cat /etc/pam.d/su | grep wheel コマンドの実行結果は下記のとおり。 # Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient pam_wheel.so trust use_uid # Uncomment the following line to require a user to be in the "wheel" group. #auth required pam_wheel.so use_uid auth sufficient pam_wheel.so trust use_uid auth required pam_wheel.so use_uid の2行をコメントアウト解除すると suコマンド実行時にパスワード入力は発生せず su: Authentication service cannot retrieve authentication info というエラーに変わりました。 (su: Authentication failureというエラーは出ない) auth sufficient pam_wheel.so trust use_uid だけコメントアウト解除した場合も同様に、suコマンドで su: Authentication service cannot retrieve authentication info というエラー。 auth required pam_wheel.so use_uid だけコメントアウトした場合は、suコマンドでパスワード入力発生、パスワード入力後 su: Authentication failure というエラー。
otn

2021/04/01 14:22

1つめのは、「wheelグループの人はパスワード入れなくてもrootになれる」で、 2つめのは、「wheelグループの人だけがrootになれる」なので、機能通りです。 やっぱり原因は別でしたか。 /etc/pam.d/su の内容を編集して様子を調べるのでしょうかね。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。