前回は、ドメインの参加まで実現したので、実際に認証ができるように設定をすすめていく。
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)」