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

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

ただいまの
回答率

90.51%

  • CentOS

    3134questions

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

  • Active Directory

    101questions

    Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

  • samba

    65questions

    Samba(サンバ)とは、UNIX系OSにおいてSMBを用いたサービスを提供するためのソフトウェアです。ネットワークを通じて、ファイル共有及びプリンタ共有などのサービスをWindowsマシンへと提供します。ライセンス体系GPLに基づきフリーソフトウェアとして公開されています。

CentOS7でrootユーザにログインができなくなってしまった

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,149

Keisuke_S

score 1

現在、自宅でCentOS7とSamba4の組み合わせによるActiveDirectory環境を構築したいと考えています。
既に同OSによるyumでインストールしたSamba4(ファイルサーバーとして利用中)が構築済みで(以下、PC-Aとします)、余っているPCにCentOS7&Samba4をインストールしています(以下、PC-Bとします)。

PC-BでActiveDirectoryの構築後、PC-Aをドメイン参加させる過程で、/etc/pam.d/内のファイルを編集していたのですが、
何か間違ってしまったらしく、再起動後にrootを含む全てのユーザでログインができなくなってしまいました。
rootパスワードの再設定を試みましたが、それすらも"permission denied"となってしまいます。
極力、PC-Aに保存しているデータは保持したままリカバリしたいのですが、
方法をご存知の方のお知恵を拝借できないでしょうか。

 nsswitch.confの内容

passwd:     files sss
shadow:     files sss
group:      files sss
initgroups: files

hosts:      files dns

bootparams: nisplus [NOTFOUND=return] files

ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files sss

netgroup:   nisplus sss

publickey:  nisplus

automount:  files nisplus
aliases:    files nisplus

 system-authの内容

%PAM-1.0
auth        required      pam_env.so
auth        sufficient    pam_unix.so try_first_pass null_ok
auth        required      pam_deny.so

account     required      pam_unix.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

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

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

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

check解決した方法

0

ご協力いただきました皆様、誠にありがとうございました。
本件、解決いたしましたので、報告させていただきます。

今回の問題の原因は、本来コメントアウトされているべき箇所のコメントを外しており、
これに気がつかずにいたためと判明しました。

具体的には、/etc/pam.d/配下の[**-auth]ファイルの行頭は以下のようになっていました。
[本来の形] 
#%PAM-1.0
[間違った形] 
%PAM-1.0 #・・・ 頭の「#」が外れていた・・・

この間違いに気が付かずに再起動を繰り返していました。
先ほど見たログ[/var/log/secure]には以下のメッセージが出力されていました。

[メッセージ(一部)]
login: PAM (login) illegal module type: %PAM-1.0

事前にバックアップを取っておけばこのような事態は防げたと実感しましたので、
今後は設定ファイルを変更する時はバックアップを取ることを忘れないようにしていきます。

回答をいただきました皆様の、貴重な時間を割いてしまい申し訳ありませんでした。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

シングルユーザーモードは、お試しになられましたか?

http://www.linuxmaster.jp/linux_skill/2012/10/linux-12.html

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/06/22 23:50

    早速のご回答ありがとうございます。
    シングルユーザーモードも試してみたのですが、やはり"permission denied"となってしまいました。

    シングルユーザーモード起動時にgrub2の起動オプションを修正しますが、その際に"ro"を"rw init=/sysroot/bin/sh" に変更するだけでなく、"rhgb"や"quiet"を除去しても見ましたが、いずれも同じ結果(permission denied)でした・・・

    キャンセル

0

CentOS7ですとこちらが参考になるのではないでしょうか。
http://qiita.com/yunano/items/0297d81459d9237c48ed

ちなみに編集前のファイルは残っているんでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

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

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

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/06/22 23:55

    編集前のファイルが残っている場合、もしくはどんな手段であれ元の状態を再現できる場合、LiveDVDを作ってそちらで起動して、HDD上のファイルを書き戻すという手がいいかもしれません。
    https://wiki.centos.org/Download

    キャンセル

  • 2016/06/23 00:08

    参考サイトの掲示、ありがとうございます。
    こちらも試してみたのですが、変わりませんでした。
    シングルユーザーモードを起動した際のユーザーはrootであるのに、
    パスワード変更しようとすると"permission denied"となる理由がわからず・・・

    編集前のファイルは、残っていません。。。


    キャンセル

  • 2016/06/23 00:16

    おそらく、ですが、AD認証をさせるにあたって例えば http://d.hatena.ne.jp/rti7743/20110426/1303840756 の H1.H2.と同じような設定をしていると思うのですが、それが決定的にログインできなくなっている原因だと思います。

    いずれにせよ、やった手順の逆を追ってみる必要があるかと思います。
    そのためにはLiveDVDなど、別のカーネルからHDDをマウントしてその中身を書き換えていく必要がありそうに思います。

    キャンセル

  • 2016/06/23 00:56

    ご指摘のサイト、参考にした覚えがあります・・・
    (というか、この手順そのものをやった覚えが・・・)

    LiveDVDですね。チャレンジしてみます。

    キャンセル

  • 2016/06/23 01:09

    修復は「パスワード変更」ではなく、「PAM の設定を戻す」だと思います。

    キャンセル

  • 2016/06/23 01:22

    その手順が原因であれば、 /etc/nsswitch.conf 、 /etc/pam.d/system-auth の内容を質問に貼っていただくと、何かわかる方がいるかもしれません。

    キャンセル

  • 2016/06/23 22:45

    返信が遅くなりすみません。

    LiveDVDを作成している合間に、何度かPC-Aを再起動しているうちに、起動時のカーネル選択画面でレスキュー用(?)のカーネルが選択できることに気がつきました。
    これを選択するとrootユーザでログインすることができました(パスワードも有効)。

    このモードを使用して、nsswitch.conf および /etc/pam.d/ 以下の内容をPC-Bのものに合わせてみたところ、SSHでの接続が制限付きでできるようになりました。
    制限の内容は、以下の通りです。
    ・rootユーザへのスイッチができない(permission denied)
    ・root権限が必要なコマンドの実行およびファイルの閲覧ができない(permission denied)

    まずはPC-Bに依存しない、通常の利用ができるまでに回復することを目標に、
    PAMの勉強を兼ねた設定を行っていこうと思います。

    キャンセル

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

  • CentOS

    3134questions

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

  • Active Directory

    101questions

    Active Directoryは、 Windows Serverの機能の一つで、 マイクロソフトによって作られたディレクトリサービスです。 ネットワーク上に存在する様々なハードや利用者情報のアクセス権限などを一元管理が出来ます。

  • samba

    65questions

    Samba(サンバ)とは、UNIX系OSにおいてSMBを用いたサービスを提供するためのソフトウェアです。ネットワークを通じて、ファイル共有及びプリンタ共有などのサービスをWindowsマシンへと提供します。ライセンス体系GPLに基づきフリーソフトウェアとして公開されています。