こんにちわ、cloudpack磯辺です。

前回は、ドメインの参加まで実現したので、実際に認証ができるように設定をすすめていく。

SSSDの有効化

authconfigコマンドを使って、SSSDを使うように設定する。また、合わせてmkhomedirも有効化する。

# authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

SSSDの設定

/etc/sssd/sssd.confを、下記のように設定する。

[sssd]
config_file_version = 2
domains = example.local
services = nss, pam, pac

[domain/example.local]
id_provider = ad
ad_server = ad1.example.local,ad2.example.local
ad_hostname = ad1.example.local,ad2.example.local
auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
ldap_id_mapping = True
cache_credentials = true
ldap_access_order = expire
ldap_account_expire_policy = ad
ldap_force_upper_case_realm = true

sssd.confのパーミッションを下記のように設定する。

# chown root:root /etc/sssd/sssd.conf
# chmod 0600 /etc/sssd/sssd.conf

パスワード認証でSSHできるように、設定を変更する。

# vim /etc/ssh/sshd_config
PasswordAuthentication yes # 変更

ここまで設定した後、sshdと、sssdを再起動する。

# systemctl restart sshd.service
# systemctl restart sssd.service

これで、認証する準備は整ったはず。

まずは、ユーザの情報が引けるか確認してみる。テストでaduserという名前のユーザを作って、確認してみる。

$ id aduser
uid=1436601105(isobe) gid=1436600513(domain users) groups=1436600513(domain users),1436600512(domain admins),1436600572(denied rodc password replication group)

情報がとれた!

uidはsssdによって自動的にマッピングされている。従来は、UNIX ID管理を使って、UNIXシステム側のuidを手作業でマップしなければならなかったが、sssdが勝手にやってくれている。

それでは、sshでログインしてみよう。

% ssh aduser@xx.yy.zz.100
aduser@xx.yy.zz.100's password:
-sh-4.2$ pwd
/

Active Directoryで登録したパスワードでログインできた!

ただし、現時点ではホームディレクトリが存在していないため、/にchdirした状態になっている。これについては、すでに導入しているmkhomedirを使って設定できる。それについては次回に続く。待て次号!

元記事はこちらです。
[Linux][Windows] RHEL7をActive Directory on Windows Server 2012 R2でユーザ認証させる (3)