#Linux端末をAD参加させる
実施環境
-
WindowsServer2012R
* ドメイン名 kokeshi.local
* IPアドレス 192.168.XXX.XXX -
CentOS6.6
AD鯖の構築 割愛
- インストールしてドメイン参加できる状態が前提
- よってDNSも構築済
Linux側の設定
- リゾルバの設定
- samba-clientのインストール
- krb5.confの編集
- smb.confの編集
- sssd.confの作成、および編集
書留
- WindowsServer2012R2からUnixID管理ツールをAD側では入れる必要がなくなった
- CentOS6ならネットワークマネージャは切っておく。(リゾルバが書き換わってて死ぬかと思った。あとeth0も死んだ)
インストール項目
-
sssd, sssd-ad
-
SSSDのパッケージが用意されているので、それを導入する。sssd-adという、Active Directoryに対応するパッケージがあるので、それも入れる。
-
krb5-workstation
-
認証にKerberosを使用するため、Kerberos関連のパッケージを入れる。
-
samba-client
- ドメインに参加する際に、netコマンドを使用するので入れる。
-
oddjob-mkhomdir
-
ドメインユーザがログインした時に、自動的にホームディレクトリを作成してくれるツールも入れる。
$ sudo yum -y install sssd sssd-ad krb5-workstation samba-client oddjob-mkhomedir
##リゾルバの設定
search kokeshi.local
nameserver 192.168.xxx.xxx
ADサーバのIPアドレスとドメイン名を設定
##ケロべロス(kerberos)の設定
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = KOKESHI.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns =false
[realms]
KOKESHI.COM = {
kdc = zmksrv.kokeshi.local
admin_server = zmksrv.kokeshi.local
}
KOKESHI.LOCAL = {
}
##Sambaの設定
workgroup = kokeshi
realm = KOKESHI.LOCAL
security = ads
winbind use default domain = false
winbind offline logon = false
client signing =yes
client use spnego=yes
kerberos method =secrets and keytab
log file = /var/log/samba/%m.log
##ドメインに参加
$ net ads join -U administrator
Enter administrator's password:[administratorのパスワードを入力]
Using short domain name -- EXAMPLE
Joined 'KOKESHI' to dns domain 'kokeshi.local'
No DNS domain configured for jump. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER
faild って出るけど問題なくドメイン参加は出来た模様
##SSSDの有効化
authconfigコマンドを使って、SSSDを使うように設定する。また、合わせてmkhomedirも有効化する。
# authconfig --enablesssd --enablesssdauth --enablemkhomedir --update
authconfigコマンドとは
システム認証に必要なすべての構成ファイルおよびサービスを更新するためのコマンド。
SSSDの設定
$vim /etc/sssd/sssd.conf
sssd.confを作成する
下記の設定を流す
config_file_version = 2
domains = kokeshi.local
services = nss, pam
debug_level = 0
[nss]
filter_group=root
filter_users=root
shell_fallback=/bin/bash
allowed_shells = /bin/bash
fallback_homedir = /home/%u
[pam]
[domain/kokeshi.local]
default_shell = /bin/bash
override_homedir = /home/%d/%u
id_provider = ad
ad_server = zmksrv.kokeshi.local
ad_hostname = zmksrv.kokeshi.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
- ここでユーザ情報を引く
id test
uid=1128601107(test) gid=1128600513(domain users) 所属グループ=1128600513(domain users)
とれた
sshでもログインできる!
わーい!
初回ログイン時に自動的にディレクトリが作成されるようにする
以下の内容を追記
[domain/kokeshi.local]
override_homedir = /home/%d/%u
[nss]
fallback_homedir = /home/%u
%dは、ドメイン名、%uはユーザ名が補間される
$ service sssd restart
再起動
[test@zmk ~]$ pwd
/home/kokeshi.local/test
ホームディレクトリができた。
デフォルトのシェル指定
以下の内容を
[domain/kokeshi.local]
default_shell = /bin/bash
[nss]_
shell_fallback = /bin/sh
allowed_shells = /bin/bash
自分のメモ書き程度なのでざっくりとしてますが…。
ほんとざっくりざっくり…。
暇があればまた改定していこうかなと…。