前に、 Microsoft Azure ADを使用してUbuntu 14.04ユーザーを認証する方法について説明しました。 つまり、Microsoft Azure AD / Office 365を使用してUbuntuでSSOを作成する方法です。CentOS7でも同じことを行う方法を説明します。
1.前提条件
- Microsoft Azure AD / Office 365(ビジネス)アカウント
- インターネット接続のあるCentOSサーバー
- CentOSでは、サーバーはSELinuxモードを「強制」無効にする必要があります
2. Microsoft Azure ADを構成する
最初に、システムが承認要求の処理を許可するために、Microsoft Azure ADに個別のアプリケーションを作成する必要があります。 これを行う方法-私は完全に段落2 habrahabr.ru/post/274249で説明しました
3. CentOS 7の構成
SSH経由でサーバーにアクセスし(この場合、sudoコマンドの実行を許可されているuser123)、rootに移動してepel-releaseをインストールします
sudo su - yum install epel-release

git、npm、nodejsをインストールします
yum install git npm nodejs

gitリポジトリgithub.com/bureado/aad-loginのクローンを作成します
git clone https://github.com/bureado/aad-login

複製されたディレクトリに入り、/ opt / aad-loginディレクトリを作成し、aad-login.js package.jsonを/ opt / aad-login /にコピーし、aad-loginを/ usr / local / bin /にコピーします
cd aad-login/ mkdir -p /opt/aad-login cp aad-login.js package.json /opt/aad-login/ cp aad-login /usr/local/bin/

/ opt / aad-login /ディレクトリに移動し、必要なnpmコンポーネントをインストールします
cd /opt/aad-login/ npm install

ファイル./aad-login.jsの編集

ディレクトリ変数の値には、Microsoft Azure AD / Office 365で使用されるドメイン名と、Microsoft Azure ADポータルで以前に取得した値「Client ID」(「Client Code」)のclientidを入力します

ファイル/etc/pam.d/sshd(および必要に応じて/または/etc/pam.d/system-auth)を編集します

pam_exec呼び出しをリストの最初の呼び出しに追加します
auth sufficient pam_exec.so expose_authtok /usr/local/bin/aad-login

ログインを許可するユーザーを作成します(パスワードを設定する必要はありません)。 このようなユーザーのログインは、エイリアスの電子メールアドレスと一致する必要があります。 たとえば、メールがsupport@aspanta.onmicrosoft.comであるサポートユーザーを作成します。
useradd support

すべて準備完了です!
Microsoft Azure AD / Office 365で作成したユーザーとパスワードを設定してログインしようとします。
