以前構築したSamba4とSSSDのActive Directory環境で、「ユーザ操作でパスワード変更ができない」不具合が発生しましたので対処方法を解説します。

不具合が発生したサーバはドメインコントローラ全てです。メンバーサーバでは発生していません。

実際に発生したエラーはこちらです。test01ユーザ自身でパスワード変更を試みたところ、

$ passwd
ユーザー test01 のパスワードを変更。
現在のパスワード:
システムがオフラインです、パスワード変更ができません
passwd: 認証トークン操作エラー

と表示されパスワードが変更できませんでした。

ログファイルを確認すると

# tail -f /var/log/messages
sssd_be: GSSAPI Error: Unspecified GSS failure.  Minor code may provide more information (Client not found in Kerberos database)

とエラーが出力されていました。

OpenSSH と kerberos 認証を組み合わせたシングルサインオン(SSO)の設定方法をご紹介します。

設定することで、ドメイン環境内のサーバに、パスワードを聞かれることなくログインできるようになります。

kerberos サーバを一から構築するのは大変なため、以前構築した ActiveDirectory 環境を利用します。

Samba4とSSSDでLinux/Windowsの認証統合環境を構築(ActiveDirectory+NIS)

Samba4とSSSDでLinux/Windowsの認証統合環境を構築(ActiveDirectory+NIS) 冗長化編

Samba4とSSSDでLinux/Windowsの認証統合環境を構築(ActiveDirectory+NIS) メンバーサーバ編

構成は

  • ドメイン名                :TESTDOMAIN.LOCAL
  • ドメインコントローラ1  : dc01.testdomain.local
  • ドメインコントローラ2  : dc02.testdomain.local
  • メンバーサーバ        : server01.testdomain.local

です。

前回記事でSamba4とSSSDを利用してLinux/Widowsの統合認証環境を構築しました。

今回はLinuxサーバをドメイン参加させてメンバーサーバを構成します。

構成環境は下記です。

  • ドメイン名                      : TESTDOMAIN.LOCAL
  • 追加メンバーサーバ        : server01.testdomain.local
  • 追加メンバーサーバIP     : 192.168.24.60

ドメイン参加させるLinuxサーバの要件は、

  • ユーザはにsssd経由でログインできる
  • Linuxのホームディレクトリはドメインコントローラ1台目のホームディレクトリを共有する

 です。

 今回もCentOS7で構築します。

Samba4とSSSDでLinux/Windowsの認証統合環境を構築(ActiveDirectory+NIS)ではSamba4でActive Directoryの構築を解説しました。

しかし、この環境はドメインコントローラが1台構成のため、ハードウェア障害やシステムエラーなどが発生した場合、最悪サービスが停止してしまう恐れがあります。

そこで今回は、ドメインコントローラを追加して1台のサーバで障害が発生してもサービスを提供し続ける構成を整えます。(冗長化構成の構築)

構成環境は下記を想定します。

  • ドメイン名                      : TESTDOMAIN.LOCAL
  • 追加ドメインコントローラ    : dc02.testdomain.local
  • 追加ドメインコントローラIP : 192.168.24.58

全体要件は1台目を構築したときと同じですが、今回構築する追加ドメインコントローラの個別要件は、

  • ユーザは追加ドメインコントローラにsssd経由でログインできる
  • Linuxのホームディレクトリはドメインコントローラ1台目のホームディレクトリを共有する

です。よってNFSサーバをドメインコントローラ1台目に構築します。

今回も1台目と同じSamba4とCentOS7で構築します。

Linuxにログインしたことを通知する機能を CentOS7 と pam_exec.so で実装する方法を説明します。

ログインを管理者や本人に通知することで、内部監査やセキュリティ対策に役立てることができます。

【pam_exec.so を利用する理由】

他のサイトを参照にすると、下記を利用することで実装できることがわかります。

  • /etc/ssh/sshrc
  • ~/.ssh/rc  など

ただし、SSHログインのみが対象でコンソールログインなどでは通知されません。

コンソールログインでもメールで通知したいため pam_exec.so を利用することにしました。

参考サイト:http://blog.stalkr.net/2010/11/login-notifications-pamexec-scripting.html

mail コマンドはLinuxからメールを送信する際に非常に便利なコマンドです。

コマンド例:

$ echo "本文" | mail -s "件名" -r 送信元メールアドレス 送信先メールアドレス

本文は echo もしくは cat でファイル名を指定します。

オプション

-s  件名

-r  送信元メールアドレス

-c  CCで送信するメールアドレス

-b  BCCで送信するメールアドレス

ただし、本文に日本語を含めると Gmail 受信時に添付ファイルになってしまうことがあります。

Samba4ではActiveDirecotryが構築できるようになり、またCentOS6からは新しい認証サービスとしてSystem Security Services Daemon (SSSD)が導入されたため、WindowsとLinuxのユーザ管理が非常に簡単にできるようになりました。

今回は、Samba4とCentOS7を利用して、WindowsとLinuxの認証統合環境を構築します。

ざっくり要件をまとめると、

  • WindowsとLinuxのユーザID/パスワードをActiveDirecotry で一元管理
  • Windows/Linuxどちらにも同じユーザID/パスワードでログインできる
  • LinuxのホームディレクトリにWindowsからアクセスできる
  • ドメインコントローラにファイルサーバを共存させる
  • ユーザはドメインコントローラにsssd経由でログインできる

です。構成環境は下記を想定します。

  • ドメイン名                : TESTDOMAIN.LOCAL
  • ドメインコントローラ    : dc01.testdomain.local
  • ドメインコントローラIP : 192.168.24.57

ドメインコントローラの冗長化は次回解説します。

WindowsクライアントからリモートのWindowsサーバを管理するのに必要なツール「リモートサーバー管理ツール(RSAT)」のインストール方法です。

Samba4(ActiveDirectory)とSSSDでLinux/Windowsの認証統合環境を構築する方法 で必要な機能

  • Active Directory ユーザーとコンピューター
  • DNSサーバツール
  • グループポリシーの管理
  • NISサーバツール

の有効化についてもあわせて解説します。

LinuxサーバからPostfixとGmailを利用してメールを送信する設定をCentOS7で解説します。

Gmailを利用することで、独自にメールサーバを構築する手間が省けます。

 

1. メール送信に必要なパッケージのインストール

メール転送エージェント (MTA)にPostfix、メールサーバにGmailを利用するため

必要なパッケージをインストールします。

Linuxのホスト名を変更する方法をご紹介します。

CentOS6以前とCentOS7以降では変更方法が異なります。お使いのバージョンにあわせて使い分けてください。

Joomla templates by a4joomla