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

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

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

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

Active Directory

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

samba

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

Q&A

解決済

3回答

12150閲覧

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

Keisuke_S

総合スコア7

CentOS

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

Active Directory

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

samba

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

0グッド

0クリップ

投稿2016/06/22 13:48

編集2016/06/23 13:33

現在、自宅で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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

自己解決

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

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

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

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

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

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

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

投稿2016/06/23 15:40

Keisuke_S

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

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

投稿2016/06/22 14:48

kaz.Suenaga

総合スコア2037

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaz.Suenaga

2016/06/22 14:55

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

2016/06/22 15:08

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

2016/06/22 15:16

おそらく、ですが、AD認証をさせるにあたって例えば http://d.hatena.ne.jp/rti7743/20110426/1303840756 の H1.H2.と同じような設定をしていると思うのですが、それが決定的にログインできなくなっている原因だと思います。 いずれにせよ、やった手順の逆を追ってみる必要があるかと思います。 そのためにはLiveDVDなど、別のカーネルからHDDをマウントしてその中身を書き換えていく必要がありそうに思います。
Keisuke_S

2016/06/22 15:56

ご指摘のサイト、参考にした覚えがあります・・・ (というか、この手順そのものをやった覚えが・・・) LiveDVDですね。チャレンジしてみます。
TaichiYanagiya

2016/06/22 16:09

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

2016/06/22 16:22

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

2016/06/23 13:45

返信が遅くなりすみません。 LiveDVDを作成している合間に、何度かPC-Aを再起動しているうちに、起動時のカーネル選択画面でレスキュー用(?)のカーネルが選択できることに気がつきました。 これを選択するとrootユーザでログインすることができました(パスワードも有効)。 このモードを使用して、nsswitch.conf および /etc/pam.d/ 以下の内容をPC-Bのものに合わせてみたところ、SSHでの接続が制限付きでできるようになりました。 制限の内容は、以下の通りです。 ・rootユーザへのスイッチができない(permission denied) ・root権限が必要なコマンドの実行およびファイルの閲覧ができない(permission denied) まずはPC-Bに依存しない、通常の利用ができるまでに回復することを目標に、 PAMの勉強を兼ねた設定を行っていこうと思います。
guest

0

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

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

投稿2016/06/22 14:09

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Keisuke_S

2016/06/22 14:50

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問