CentOS 7
Sponsored Link

Samba AD DC : インストール2018/06/27

 
Samba による Active Directory Domain Controller の構築です。
現時点では CentOS 公式リポジトリの Samba では DC 機能は提供されていないため、当例ではソースコードをコンパイルしてインストールします。
[1] 事前に必要なパッケージをインストールして、Samba をコンパイル/インストールします。
[root@smb ~]#
yum groups -y install "Development Tools"

[root@smb ~]#
yum -y install iniparser libldb libtalloc libtdb libtevent python-devel gnutls-devel libacl-devel openldap-devel pam-devel readline-devel krb5-devel cups-devel
[root@smb ~]#
curl -O https://download.samba.org/pub/samba/stable/samba-4.8.3.tar.gz

[root@smb ~]#
tar zxvf samba-4.8.3.tar.gz

[root@smb ~]#
cd samba-4.8.3

[root@smb samba-4.8.3]#
./configure \
--prefix=/usr \
--localstatedir=/var \
--with-configdir=/etc/samba \
--libdir=/usr/lib64 \
--with-modulesdir=/usr/lib64/samba \
--with-pammodulesdir=/lib64/security \
--with-lockdir=/var/lib/samba \
--with-logfilebase=/var/log/samba \
--with-piddir=/run/samba \
--with-privatedir=/etc/samba \
--enable-cups \
--with-acl-support \
--with-ads \
--with-automount \
--enable-fhs \
--with-pam \
--with-quotas \
--with-shared-modules=idmap_rid,idmap_ad,idmap_hash,idmap_adex \
--with-syslog \
--with-utmp \
--with-dnsupdate

[root@smb samba-4.8.3]#
make

[root@smb samba-4.8.3]#
make install
# Systemd 設定ファイル作成

[root@smb samba-4.8.3]#
vi /usr/lib/systemd/system/samba.service
# 以下の内容で新規作成

[Unit]
Description=Samba AD Daemon
Wants=network-online.target
After=network.target network-online.target rsyslog.service

[Service]
Type=forking
PIDFile=/run/samba/samba.pid
LimitNOFILE=16384
ExecStart=/usr/sbin/samba --daemon
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

[root@smb samba-4.8.3]#
vi /etc/tmpfiles.d/samba.conf
# 以下の内容で新規作成

d /var/run/samba 0755 root root -
[2] Samba AD DC の設定です。
# デフォルトの krb5.conf はリネームまたは削除

[root@smb ~]#
mv /etc/krb5.conf /etc/krb5.conf.org

[root@smb ~]#
samba-tool domain provision

# レルム名を指定 (通常はそのままEnterでOK)
Realm [SRV.WORLD]: 
# ドメイン名を指定
 Domain [SRV]: SMB01 
# DC にするのでそのまま Enter
 Server Role (dc, member, standalone) [dc]:
# Samba の内蔵 DNS を使うのでそのまま Enter
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
# DNS フォワーダーを設定する場合は入力, 設定しない場合は [none] を指定
 DNS forwarder IP address (write 'none' to disable forwarding) [10.0.0.10]: 
# 管理者パスワードを設定
# 単純なパスワードはエラーとなるため、6文字以上且つ英数字と大文字小文字を交えた複雑なパスワードにする
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=srv,DC=world
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=srv,DC=world
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba AD has been generated at /etc/samba/krb5.conf
Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink!
Once the above files are installed, your Samba AD server will be ready to use
Server Role:           active directory domain controller
Hostname:              smb
NetBIOS Domain:        SMB01
DNS Domain:            srv.world
DOMAIN SID:            S-1-5-21-343028061-3500809607-2232077892

# 参照する DNS を自身に変更

[root@smb ~]#
nmcli connection modify eth0 ipv4.dns 127.0.0.1

[root@smb ~]#
nmcli connection down eth0; nmcli connection up eth0
[root@smb ~]#
cp /etc/samba/krb5.conf /etc/

[root@smb ~]#
systemctl start samba

[root@smb ~]#
systemctl enable samba

# ドメインの機能レベル確認

[root@smb ~]#
samba-tool domain level show

Domain and forest function level for domain 'DC=srv,DC=world'

Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2

# ドメインにユーザー登録

[root@smb ~]#
samba-tool user create cent

New Password:  
# パスワード設定

Retype Password:
User 'cent' created successfully
[3] Firewalld を有効にしている場合は 関連サービスの許可が必要です。
[root@smb ~]#
firewall-cmd --add-service={dns,kerberos,kpasswd,ldap,ldaps,samba} --permanent

success
[root@smb ~]#
firewall-cmd --add-port={135/tcp,137-138/udp,139/tcp,3268-3269/tcp,49152-65535/tcp} --permanent

success
[root@smb ~]#
firewall-cmd --reload

success
関連コンテンツ