9月 292015
 

Winbind+ID自動生成+Sambaファイルサーバ 構築手順

Sambaファイルサーバを使う場合、NTLM認証に対応させるためSSSDではなくWinbindを使う。WindowsとLinuxのID統合については以前の記事を参照してください。

Windows ADサーバ dc1.test.local
ADドメイン test.local
Windows OSバージョン・ドメイン機能レベル Windows 2012R2
Linuxサーバ smb1.test.local
Linux OSバージョン CentOS7.1

ActiveDirectory準備

普通にOSインストールしADDSをインストールするだけ。参照するLinuxサーバのDNSレコードを作成しておく必要がある。また、テスト用ユーザ・グループも作成しておく。

Linuxサーバ準備

OSインストールしnmcli/nmtui等でホスト名とresolvのsearchでドメインが入るように設定する。また、Chrony・ntp/ntpdate等でADサーバと時刻同期ができていること。

パッケージインストール

必要なパッケージをインストール。oddjob-mkhomedirは自動ホームディレクトリ作成用で必須ではない。

yum install ntp ntpdate krb5-workstation oddjob-mkhomedir openldap-clients samba samba-winbind samba-winbind-krb5-locator pam_krb5

NTP

ケルベロス認証では時刻が揃ってないと認証に失敗してしまうため、同期しておく。NTPサーバの設定をしておくとなおいい。

ntpdate dc1.test.local

ケルベロス認証、ドメイン参加

ケルベロス認証用設定

cp -a /etc/krb5.conf /etc/krb5.conf.org
cat > /etc/krb5.conf << EOF
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 default_realm = TEST.LOCAL
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
TEST.LOCAL = {
  kdc = test.local
  admin_server = dc1.test.local
}

[domain_realm]
.test.local = TEST.LOCAL
test.local = TEST.LOCAL
EOF

ドメイン参加、ファイルサーバ用設定。ファイルサーバはサンプルのPublicのみ。

cp -a /etc/samba/smb.conf /etc/samba/smb.conf.org
cat > /etc/samba/smb.conf << EOF
[global]
   workgroup = TEST
   password server = dc1.test.local
   realm = TEST.LOCAL
   security = ads
   idmap config * : range = 16777216-33554431
   template homedir = /home/%U
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
[public]
   comment = Public Stuff
   path = /tmp
   public = yes
   writable = yes
EOF

ドメイン参加

kinit Administrator
net ads join -k -U Administrator

authconfigによるSSSD認証有効化と自動ホームディレクトリ作成も有効化

authconfig \
--enablekrb5 \
--enablewinbind \
--enablewinbindauth \
--enablemkhomedir \
--update

サービス設定

systemctl enable winbind smb
systemctl restart winbind smb

動作確認

# id administrator
uid=16777216(administrator) gid=16777216(domain users) groups=16777216(domain users),16777217(denied rodc password replication group),16777218(schema admins),16777219(enterprise admins),16777220(group policy creator owners),16777221(domain admins)

Windowsクライアントから\ホスト名\のケルベロス認証アクセスと、\IPアドレス\のNTLM認証の両方からアクセスできることを確認する。ADメンバーのクライアントであればシングルサインオンできるはずです。

Winbindのキャッシュクリア

以下の手順でキャッシュがクリアできる

systemctl stop winbind smb
net flash cache
systemctl start winbind smb

Sorry, the comment form is closed at this time.