見出し画像

395.2 Samba4のAD互換ドメインコントローラ


主題395:Sambaのドメイン統合
395.2 Samba4のAD互換ドメインコントローラ

LinuC300の試験範囲である主題390~397まであるうちの「主題395:Sambaのドメイン統合」から「395.2 Samba4のAD互換ドメインコントローラ」についてのまとめ

  • 重要度:3

  • 説明:
    ADドメインコントローラとして Samba4 を設定できること。

  • 主要な知識範囲:
    - ADドメインコントローラ として Samba4 を設定およびテストする
    - smbclient を使用して ADの稼働を確認する
    - Samba がDNS、Kerberos、NTP、LDAP などの ADサービスと統合する方法について理解する

  • 重要なファイル、用語、ユーティリティ:
    - smb.conf
    - server role
    - samba-tool domainと、そのサブコマンド
    - samba


(補足)

補足1:OSとインストール方法の選択について

RHEL系のOS(RockyLinux、AlmaLinux、CentOSなど)の場合、パッケージ版Samba4ではドメインコントローラーの構築ができません。 RHEL系のOSでSambaのドメインコントローラーを構築するためにはSamba4をソースからインストールする必要があります。様々な事情でパッケージ版のSamba4でドメインコントローラーを構築したい場合はUbuntuを選択すると良いようです。

~RockyLinux+Samba3(ソースインストール)~
そもそもsamba-toolコマンドがない。
Samba3はNTドメインには対応しているが、ActiveDirectoryドメインには対応していないのでSamba4を選択することになる。

[root@rocky9-samba31 ~]#
[root@rocky9-samba31 ~]# samba-tool
bash: samba-tool: コマンドが見つかりません
[root@rocky9-samba31 ~]#

~RockyLinux9+Samba4(パッケージ版)~
samba-toolコマンドはあるがprovisionサブコマンドがない。

[root@rocky9-samba41 ~]#
[root@rocky9-samba41 ~]# samba-tool --version
4.17.5
[root@rocky9-samba41 ~]#
[root@rocky9-samba41 ~]# samba-tool domain --help
Usage: samba-tool domain <subcommand>

Domain management.


Options:
  -h, --help  show this help message and exit


Available subcommands:
  info   - Print basic info about a domain and the DC passed as parameter.
  join   - Join domain as either member or backup domain controller.
  leave  - Cause a domain member to leave the joined domain.
For more help on a specific subcommand, please type: samba-tool domain <subcommand> (-h|--help)

[root@rocky9-samba41 ~]#

~RockyLinux9+Samba4(ソースインストール)~
samba-tool domain provisionコマンドが使える。
(別記事 Appendix (準備)Samba4をソースからインストールする:RockyLinux9 参照)

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool --version
4.18.4
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool domain --help
samba-tool domain: missing subcommand

Usage: samba-tool domain <subcommand>

Domain management.


Options:
  -h, --help            show this help message and exit
  --color=always|never|auto
                        use colour if available (default: auto)


Available subcommands:
  backup            - Create or restore a backup of the domain.
  classicupgrade    - Upgrade from Samba classic (NT4-like) database to Samba AD DC database.
  dcpromo           - Promote an existing domain member or NT4 PDC to an AD DC.
  demote            - Demote ourselves from the role of Domain Controller.
  exportkeytab      - Dump Kerberos keys of the domain into a keytab.
  functionalprep    - Domain functional level preparation
  info              - Print basic info about a domain and the DC passed as parameter.
  join              - Join domain as either member or backup domain controller.
  leave             - Cause a domain member to leave the joined domain.
  level             - Raise domain and forest function levels.
  passwordsettings  - Manage password policy settings.
  provision         - Provision a domain.    <--- ★これを使いたい
  schemaupgrade     - Domain schema upgrading
  tombstones        - Domain tombstone and recycled object management.
  trust             - Domain and forest trust management.
For more help on a specific subcommand, please type: samba-tool domain <subcommand> (-h|--help)

[root@rocky9-samba42 ~]#

補足2:LXDホストの設定変更

本記事の執筆環境であるLXDコンテナでSambaのドメインコントローラーを構築する際には、当該コンテナに対してsecurity.privileged=trueの設定を追加して特権コンテナとして動作するようにしてください。
※この設定をするとコンテナのrootユーザー=ホストのrootユーザーになってしまうので本番環境での利用は避けたほうが良いでしょう※

ubuntu@jammy:~$
ubuntu@jammy:~$ lxc config set rocky9-samba42 security.privileged=true
ubuntu@jammy:~$

これがないとsamba-tool domain provisionの途中で以下のようなエラーが出てしまいます。

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool domain provision --domain=example --realm=EXAMPLE.LOCAL --adminpass=Password123! --use-rfc2307
   :
ERROR(runtime): uncaught exception - (3221225506, '{Access Denied} A process has requested access to an object but has not been granted those access rights.')
   :
[root@rocky9-samba42 ~]#

上記エラーがあってもsmb.confは生成されますが、sambaサービスが起動しません。

補足3:時刻同期について

~NTPサーバーを使って時刻同期をする~
ドメインコントローラーの認証で使われるKerberosでは時刻のズレが許されないため外部のNTPサーバーを参照して時刻同期をしておく必要があります。
RockyLinux9であればchronyというパッケージで実現できます(下記操作例を参照)。 ただし、本記事の執筆環境であるLXDコンテナの場合、コンテナの時刻はLXDホストと同期をしているので、コンテナ自身が外部NTPサーバーを参照して時刻同期をする必要はありません。
また、コンテナからの時刻同期が制限されているので上記解説にあるchronyをインストールして設定をしても時刻同期はできません。
(参考)
LXCコンテナの中から、chronydでホストの時刻を補正・配信する - kWatanabe の 技術帖

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# dnf install -y chrony
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# vi /etc/chrony.conf
  :
#pool 2.rocky.pool.ntp.org iburst  <--- ★コメントアウト
pool ntp.nict.jp iburst  <--- ★国内のNTPサーバーを指定
  :
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl restart chronyd
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: enabled)
     Active: active (running) since Fri 2023-07-07 12:21:20 JST; 4s ago
       Docs: man:chronyd(8)
             man:chrony.conf(5)
    Process: 27421 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 27423 (chronyd)
      Tasks: 1 (limit: 23172)
     Memory: 948.0K
        CPU: 43ms
     CGroup: /system.slice/chronyd.service
             mq27423 /usr/sbin/chronyd -F 2

 707 12:21:20 rocky9-samba42 systemd[1]: Starting NTP client/server...
 707 12:21:20 rocky9-samba42 chronyd[27423]: chronyd version 4.3 starting (+CMDMON +NTP +REFCLOCK +RTC +PR>
 707 12:21:20 rocky9-samba42 chronyd[27423]: Frequency -12.252 +/- 0.208 ppm read from /var/lib/chrony/dri>
 707 12:21:20 rocky9-samba42 chronyd[27423]: Using right/UTC timezone to obtain leap second data
 707 12:21:20 rocky9-samba42 chronyd[27423]: Loaded seccomp filter (level 2)
 7月 07 12:21:20 rocky9-samba42 systemd[1]: Started NTP client/server.
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- ntp-b3.nict.go.jp             1   6    17    12   -407us[ -407us] +/- 2647us
^- ntp-b2.nict.go.jp             1   6    17    12   -741us[ -741us] +/- 2997us
^* ntp-k1.nict.jp                1   6    17    13    +60us[ +629us] +/- 7766us
^- ntp-a3.nict.go.jp             1   6    17    12   -144us[ -144us] +/- 2773us
[root@rocky9-samba42 ~]#

ADドメインコントローラ として Samba4 を設定およびテストする

(補足)
Sambaでファイルサーバーを構築したり、Samba3でNTドメインに参加したり、NTドメインのドメインコントローラーを構築する際にはsmb(smb+nmb)とwinbindというサービスをそれぞれ操作をしていましたが、Samba4でADドメインのドメインコントローラーを構築する際に使うサービスはsambaになります。

ドメインコントローラー1号機:DC1

~(DC1)既存の設定ファイルを退避~

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# mv /usr/local/samba/etc/smb.conf /usr/local/samba/etc/smb.conf.orig
[root@rocky9-samba42 ~]#

~(DC1)ドメインコントローラー初期設定~
samba-tool domain
provisionコマンドで初期設定をすると、smb.confが生成されるので、必要に応じてインターフェースの制限や上位DNS(dns forwarder)の設定を編集してください。

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool domain provision \
                         --domain=example \
                         --realm=EXAMPLE.LOCAL \
                         --adminpass=Password123! \
                         --use-rfc2307
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# cat /usr/local/samba/etc/smb.conf
# Global parameters
[global]
        bind interfaces only = yes
        interfaces = 127.0.0.1 eth1
        dns forwarder = 8.8.8.8
        netbios name = ROCKY9-SAMBA42
        realm = EXAMPLE.LOCAL
        server role = active directory domain controller
        workgroup = EXAMPLE
        idmap_ldb:use rfc2307 = yes

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/example.local/scripts
        read only = No
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# testparm -s
Load smb config files from /usr/local/samba/etc/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

Server role: ROLE_ACTIVE_DIRECTORY_DC

# Global parameters
[global]
        bind interfaces only = Yes
        dns forwarder = 8.8.8.8
        interfaces = 127.0.0.1 eth1
        passdb backend = samba_dsdb
        realm = EXAMPLE.LOCAL
        server role = active directory domain controller
        workgroup = EXAMPLE
        rpc_server:tcpip = no
        rpc_daemon:spoolssd = embedded
        rpc_server:spoolss = embedded
        rpc_server:winreg = embedded
        rpc_server:ntsvcs = embedded
        rpc_server:eventlog = embedded
        rpc_server:srvsvc = embedded
        rpc_server:svcctl = embedded
        rpc_server:default = external
        winbindd:use external pipes = true
        idmap_ldb:use rfc2307 = yes
        idmap config * : backend = tdb
        map archive = No
        vfs objects = dfs_samba4 acl_xattr


[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No


[netlogon]
        path = /usr/local/samba/var/locks/sysvol/example.local/scripts
        read only = No
[root@rocky9-samba42 ~]#

~(DC1)起動する~
※起動するサービスはsambaです。

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl start samba
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl status samba
● samba.service - Samba AD Daemon
● samba.service - Samba AD Daemon
     Loaded: loaded (/etc/systemd/system/samba.service; disabled; preset: disabled)
    Drop-In: /run/systemd/system/service.d
             mqzzz-lxc-service.conf
     Active: active (running) since Fri 2023-07-07 11:53:39 JST; 52min ago
       Docs: man:samba(8)
             man:samba(7)
             man:smb.conf(5)
   Main PID: 149 (samba)
     Status: "samba: ready to serve connections..."
      Tasks: 59 (limit: 24385)
     Memory: 179.1M
     CGroup: /system.slice/samba.service
             tq149 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq150 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq151 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq152 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq153 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq154 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq155 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq156 /usr/local/samba/sbin/smbd -D "--option=server role check:inhibit=yes" --foreground
             tq157 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq158 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq159 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq160 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq161 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq162 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq163 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq164 /usr/local/samba/sbin/samba --foreground --no-process-group
[root@rocky9-samba42 ~]#

~(DC1)確認をする~
samba-tool processesコマンドを使うと、Sambaのドメインコントローラーで使われているプロセスのPIDがわかる。
また、pstreeコマンドを使うとsambaというプロセス(PID507)からSambaのドメインコントローラーで使われている様々なプロセスが関連していることがわかる。

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool processes
 Service:                          PID
--------------------------------------
cldap_server                       529
dnssrv                             553
dnsupdate                          550
dreplsrv                           533
kccsrv                             545
kdc_server                         531
kdc_server(worker 3)               552
kdc_server(worker 0)               536
kdc_server(worker 1)               542
kdc_server(worker 2)               547
ldap_server                        526
ldap_server(worker 1)              566
ldap_server(worker 2)              568
ldap_server(worker 0)              564
ldap_server(worker 3)              570
nbt_server                         516
notify-daemon                      560
rpc_server                         511
rpc_server(worker 2)               524
rpc_server(worker 0)               518
rpc_server(worker 1)               522
rpc_server(worker 3)               527
samba                              507  <--★
winbind_server                     548
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# pstree -p -A
systemd(1)-+-NetworkManager(79)-+-dhclient(97)
           |                    |-dhclient(98)
           |                    |-{NetworkManager}(84)
           |                    `-{NetworkManager}(86)
           |-agetty(94)
           |-crond(95)
           |-dbus-broker-lau(83)---dbus-broker(85)
           |-rsyslogd(77)-+-{rsyslogd}(81)
           |              `-{rsyslogd}(82)
     ★--> |-samba(507)-+-tfork(509)(508)---sfs[master](509)---tfork(514)(513)---smbd(514)-+-smbd-cleanupd(5+
           |            |                                                                   `-smbd-notifyd(56+
           |            |-tfork(511)(510)---rpc[master](511)-+-tfork(518)(515)---rpc(0)(518)
           |            |                                    |-tfork(522)(519)---rpc(1)(522)
           |            |                                    |-tfork(524)(523)---rpc(2)(524)
           |            |                                    `-tfork(527)(525)---rpc(3)(527)
           |            |-tfork(516)(512)---nbt[master](516)
           |            |-tfork(520)(517)---wrepl[master](520)
           |            |-tfork(526)(521)---ldap[master](526)-+-tfork(564)(563)---ldap(0)(564)
           |            |                                     |-tfork(566)(565)---ldap(1)(566)
           |            |                                     |-tfork(568)(567)---ldap(2)(568)
           |            |                                     `-tfork(570)(569)---ldap(3)(570)
           |            |-tfork(529)(528)---cldap[master](529)
           |            |-tfork(531)(530)---kdc[master](531)-+-tfork(536)(535)---kdc(0)(536)
           |            |                                    |-tfork(542)(538)---kdc(1)(542)
           |            |                                    |-tfork(547)(544)---kdc(2)(547)
           |            |                                    `-tfork(552)(549)---kdc(3)(552)
           |            |-tfork(533)(532)---drepl[master](533)
           |            |-tfork(537)(534)---winbindd[master(537)---tfork(548)(543)---winbindd(548)-+-wb-idmap+
           |            |                                                                          `-wb[EXAMP+
           |            |-tfork(540)(539)---ntp_signd[maste(540)
           |            |-tfork(545)(541)---kcc[master](545)
           |            |-tfork(550)(546)---dnsupdate[maste(550)
           |            `-tfork(553)(551)---dns[master](553)
           |-systemd-journal(67)
           `-systemd-logind(78)
[root@rocky9-samba43 ~]#

~(DC1)ActiveDirectory特有のSRVレコードを検索する
問い合わせをするDNSサーバーはSambaのドメインコントローラーを指定する。 以下は自分自身がドメインコントローラーなので127.0.0.1としている。

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# cat /etc/resolv.conf
nameserver 127.0.0.1
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# host -t SRV _ldap._tcp.dc._msdcs.EXAMPLE.LOCAL
_ldap._tcp.dc._msdcs.EXAMPLE.LOCAL has SRV record 0 100 389 rocky9-samba42.example.local.
[root@rocky9-samba43 ~]#

ドメインコントローラー2号機:DC2

~(DC2)Sambaサーバーが参照するDNSを変更する~
DC1のアドレスにする。

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/resolv.conf
nameserver 192.168.56.42
[root@rocky9-samba43 ~]#

~(DC2)Kerberos認証の設定ファイルを編集する~

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/krb5.conf
# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/

[logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log

[libdefaults]
    dns_lookup_realm = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    rdns = false
    pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
    spake_preauth_groups = edwards25519
    dns_canonicalize_hostname = fallback
    qualify_shortname = ""
    default_realm = EXAMPLE.LOCAL <--- ★ドメイン名を指定する
    default_ccache_name = KEYRING:persistent:%{uid}

[realms]
EXAMPLE.LOCAL = {
    kdc = 192.168.56.42 <--- ★PDCのIPアドレスを指定する
}

[domain_realm]
.example.local = EXAMPLE.LOCAL <--- ★ドメイン名を指定する
example.local = EXAMPLE.LOCAL  <--- ★ドメイン名を指定する
[root@rocky9-samba43 ~]#

~(DC2)設定ファイルを退避する~

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# mv /usr/local/samba/etc/smb.conf /usr/local/samba/etc/smb.conf.orig
[root@rocky9-samba43 ~]#

~(DC2)ドメイン情報を確認する~

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool domain info 192.168.56.42
Forest           : example.local
Domain           : example.local
Netbios domain   : EXAMPLE
DC name          : rocky9-samba42.example.local
DC netbios name  : ROCKY9-SAMBA42
Server site      : Default-First-Site-Name
Client site      : Default-First-Site-Name
[root@rocky9-samba43 ~]#

~(DC2)ActiveDirectoryドメインに参加する~

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool domain join example.local DC -U Administrator
Password for [WORKGROUP\Administrator]: ********
   :
Adding CN=ROCKY9-SAMBA43,OU=Domain Controllers,DC=example,DC=local
Adding CN=ROCKY9-SAMBA43,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=local
Adding CN=NTDS Settings,CN=ROCKY9-SAMBA43,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=local
Adding SPNs to CN=ROCKY9-SAMBA43,OU=Domain Controllers,DC=example,DC=local
   :
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# cat /usr/local/samba/etc/smb.conf
# Global parameters
[global]
        netbios name = ROCKY9-SAMBA43
        realm = EXAMPLE.LOCAL
        server role = active directory domain controller
        workgroup = EXAMPLE

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/example.local/scripts
        read only = No
[root@rocky9-samba43 ~]#
ドメインに参加しているWindowsPCからAD管理ツールで確認できる

~(DC2)Sambaサーバーが参照するDNSを変更する~
自分自身を参照するように設定する。

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/resolv.conf
nameserver 127.0.0.1
[root@rocky9-samba43 ~]#

~(DC2)sambaを起動する~
※起動するサービスはsambaです。

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# systemctl start samba
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# systemctl status samba
● samba.service - Samba AD Daemon
     Loaded: loaded (/etc/systemd/system/samba.service; disabled; preset: disabled)
    Drop-In: /run/systemd/system/service.d
             mqzzz-lxc-service.conf
     Active: active (running) since Fri 2023-07-07 15:06:58 JST; 3s ago
       Docs: man:samba(8)
             man:samba(7)
             man:smb.conf(5)
   Main PID: 211 (samba)
     Status: "samba: ready to serve connections..."
      Tasks: 65 (limit: 24385)
     Memory: 235.0M
     CGroup: /system.slice/samba.service
             tq211 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq212 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq213 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq214 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq215 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq216 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq217 /usr/local/samba/sbin/smbd -D "--option=server role check:inhibit=yes" --foreground
             tq218 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq219 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq220 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq221 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq222 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq223 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq224 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq225 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq226 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq227 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq228 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq229 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq230 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq231 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq232 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq233 /usr/local/samba/sbin/samba --foreground --no-process-group
             tq234 /usr/local/samba/sbin/samba --foreground --no-process-group
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool processes
 Service:                          PID
--------------------------------------
cldap_server                       225
dnssrv                             245
dnsupdate                          243
dreplsrv                           229
kccsrv                             238
kdc_server                         227
kdc_server(worker 3)               250
kdc_server(worker 0)               235
kdc_server(worker 1)               241
kdc_server(worker 2)               246
ldap_server                        223
ldap_server(worker 1)              311
ldap_server(worker 2)              314
ldap_server(worker 0)              309
ldap_server(worker 3)              316
nbt_server                         219
notify-daemon                      264
rpc_server                         216
rpc_server(worker 2)               257
rpc_server(worker 0)               251
rpc_server(worker 1)               255
rpc_server(worker 3)               260
samba                              211  <--★
winbind_server                     247
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# pstree -pA
systemd(1)-+-NetworkManager(79)-+-dhclient(103)
           |                    |-dhclient(104)
           |                    |-{NetworkManager}(85)
           |                    `-{NetworkManager}(86)
           |-agetty(94)
           |-crond(95)
           |-dbus-broker-lau(82)---dbus-broker(84)
           |-rsyslogd(77)-+-{rsyslogd}(81)
           |              `-{rsyslogd}(83)
     ★--> |-samba(211)-+-tfork(213)(212)---s3fs[master](213)---tfork(217)(215)---smbd(217)-+-smbd-cleanupd(2+
           |            |                                                                   `-smbd-notifyd(26+
           |            |-tfork(216)(214)---rpc[master](216)-+-tfork(251)(249)---rpc(0)(251)
           |            |                                    |-tfork(255)(252)---rpc(1)(255)
           |            |                                    |-tfork(257)(256)---rpc(2)(257)
           |            |                                    `-tfork(260)(258)---rpc(3)(260)
           |            |-tfork(219)(218)---nbt[master](219)
           |            |-tfork(221)(220)---wrepl[master](221)
           |            |-tfork(223)(222)---ldap[master](223)-+-tfork(309)(308)---ldap(0)(309)
           |            |                                     |-tfork(311)(310)---ldap(1)(311)
           |            |                                     |-tfork(314)(312)---ldap(2)(314)
           |            |                                     `-tfork(316)(315)---ldap(3)(316)
           |            |-tfork(225)(224)---cldap[master](225)
           |            |-tfork(227)(226)---kdc[master](227)-+-tfork(235)(233)---kdc(0)(235)
           |            |                                    |-tfork(241)(237)---kdc(1)(241)
           |            |                                    |-tfork(246)(242)---kdc(2)(246)
           |            |                                    `-tfork(250)(248)---kdc(3)(250)
           |            |-tfork(229)(228)---drepl[master](229)
           |            |-tfork(231)(230)---winbindd[master(231)---tfork(247)(240)---winbindd(247)-+-wb-idmap+
           |            |                                                                          `-wb[EXAMP+
           |            |-tfork(234)(232)---ntp_signd[maste(234)
           |            |-tfork(238)(236)---kcc[master](238)
           |            |-tfork(243)(239)---dnsupdate[maste(243)
           |            `-tfork(245)(244)---dns[master](245)
           |-systemd-journal(67)
           `-systemd-logind(78)
[root@rocky9-samba43 ~]#

~(DC2)動作確認をする~
以下の操作例ではsmb.confで設定していた共有リソース[sysvol]と[netlogon]が参照できるか確認をしている。

★ 共有リソース [sysvol] を確認 ★
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# smbclient //localhost/sysvol -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]:
  .                                   D        0  Fri Jul  7 15:02:24 2023
  ..                                  D        0  Fri Jul  7 15:06:59 2023
  example.local                       D        0  Fri Jul  7 15:02:24 2023

                21014912 blocks of size 1024. 19809792 blocks available
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# ls -la /usr/local/samba/var/locks/sysvol
合計 3
drwxr-xr-x 3 root root 3  77 15:02 .
drwxr-xr-x 4 root root 9  77 15:06 ..
drwxr-xr-x 3 root root 3  77 15:02 example.local
[root@rocky9-samba43 ~]#
★ 共有リソース [netlogon] を確認 ★
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# smbclient //localhost/netlogon -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]:
  .                                   D        0  Fri Jul  7 15:02:24 2023
  ..                                  D        0  Fri Jul  7 15:02:24 2023

                21014912 blocks of size 1024. 19809792 blocks available
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# ls -l /usr/local/samba/var/locks/sysvol/example.local/scripts
合計 0
[root@rocky9-samba43 ~]#

~DRSの状態を確認する~
ディレクトリ複製サービス(Directory Replication Services : DRS)でディレクトリ情報が複製されているか確認できる。

[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool drs showrepl
Default-First-Site-Name\ROCKY9-SAMBA43
DSA Options: 0x00000001
DSA object GUID: 26b542dd-af55-4f0a-9080-3a6d1cb4d84c
DSA invocationId: 84c719e2-fd21-45f1-bbee-bf2470cfb4fa

==== INBOUND NEIGHBORS ====

CN=Schema,CN=Configuration,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
                0 consecutive failure(s).
                Last success @ Thu Jul 20 00:50:27 2023 JST

DC=DomainDnsZones,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
                0 consecutive failure(s).
                Last success @ Thu Jul 20 00:50:27 2023 JST

DC=ForestDnsZones,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
                0 consecutive failure(s).
                Last success @ Thu Jul 20 00:50:27 2023 JST

DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
                0 consecutive failure(s).
                Last success @ Thu Jul 20 00:50:27 2023 JST

CN=Configuration,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ Thu Jul 20 00:50:28 2023 JST was successful
                0 consecutive failure(s).
                Last success @ Thu Jul 20 00:50:28 2023 JST

==== OUTBOUND NEIGHBORS ====

CN=Schema,CN=Configuration,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)

DC=DomainDnsZones,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)

DC=ForestDnsZones,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)

DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)

CN=Configuration,DC=example,DC=local
        Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
                DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)

==== KCC CONNECTION OBJECTS ====

Connection --
        Connection name: 1afae228-f025-4bc9-a8a1-8ecb3d0c7c74
        Enabled        : TRUE
        Server DNS name : rocky9-samba42.example.local
        Server DN name  : CN=NTDS Settings,CN=ROCKY9-SAMBA42,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=local
                TransportType: RPC
                options: 0x00000001
Warning: No NC replicated for Connection!
[root@rocky9-samba43 ~]#

ユーザー管理

ユーザー管理はsamba-tool、pdbedit、wbinfo、getentコマンドでできる。
また、ドメインに参加しているWindowsPCにEXAMPLE\AdministratorでログインすればWindowsPCの「ActiveDirectoryユーザーとコンピューター(ADUC)」というツールからでも管理できる。

~コマンド~

  • samba-tool user add
    ユーザー追加する。

  • samba-tool user delete
    ユーザー削除する。

  • samba-tool user password
    パスワード変更する。

  • samba-tool user list
    ユーザー一覧を表示する。

[root@rocky9-samba42 ~]# 
[root@rocky9-samba42 ~]# samba-tool user
samba-tool user: missing subcommand

Usage: samba-tool user <subcommand>

User management.


Options:
  -h, --help            show this help message and exit
  --color=always|never|auto
                        use colour if available (default: auto)


Available subcommands:
  add              - Add a new user.
  addunixattrs     - Add RFC2307 attributes to a user.
  create           - Add a new user.
  delete           - Delete a user.
  disable          - Disable a user.
  edit             - Modify User AD object.
  enable           - Enable a user.
  getgroups        - Get the direct group memberships of a user account.
  getpassword      - Get the password fields of a user/computer account.
  list             - List all users.
  move             - Move a user to an organizational unit/container.
  password         - Change password for a user account (the one provided in authentication).
  rename           - Rename a user and related attributes.
  sensitive        - Set/unset or show UF_NOT_DELEGATED for an account.
  setexpiry        - Set the expiration of a user account.
  setpassword      - Set or reset the password of a user account.
  setprimarygroup  - Set the primary group a user account.
  show             - Display a user AD object.
  syncpasswords    - Sync the password of user accounts.
  unlock           - Unlock a user account.
For more help on a specific subcommand, please type: samba-tool user <subcommand> (-h|--help)

[root@rocky9-samba42 ~]#
  • samba-tool group add
    グループを追加する。

  • samba-tool group delete
    グループを削除する。

  • samba-tool group list
    グループ一覧を表示する。

  • samba-tool group addmembers
    グループにユーザーを追加する。

  • samba-tool group removemembers
    グループからユーザーを削除する。

  • samba-tool group listmembers
    グループに所属しているユーザー一覧を表示する。

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool group
samba-tool group: missing subcommand

Usage: samba-tool group <subcommand>

Group management.


Options:
  -h, --help            show this help message and exit
  --color=always|never|auto
                        use colour if available (default: auto)


Available subcommands:
  add            - Creates a new AD group.
  addmembers     - Add members to an AD group.
  addunixattrs   - Add RFC2307 attributes to a group.
  create         - Creates a new AD group.
  delete         - Deletes an AD group.
  edit           - Modify Group AD object.
  list           - List all groups.
  listmembers    - List all members of an AD group.
  move           - Move a group to an organizational unit/container.
  removemembers  - Remove members from an AD group.
  rename         - Rename a group and related attributes.
  show           - Display a group AD object.
  stats          - Summary statistics about group memberships.
For more help on a specific subcommand, please type: samba-tool group <subcommand> (-h|--help)

[root@rocky9-samba42 ~]#

~コマンド例~

★ samba-tool user add でユーザーを追加する ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user add winuser01
New Password: ********
Retype Password: ********
descriptor_prepare_commit: changes: num_registrations=0
descriptor_prepare_commit: changes: num_registered=0
descriptor_prepare_commit: changes: num_toplevel=0
descriptor_prepare_commit: changes: num_processed=0
descriptor_prepare_commit: objects: num_processed=0
descriptor_prepare_commit: objects: num_skipped=0
User 'winuser01' added successfully
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user list
ldb_wrap open of secrets.ldb
krbtgt
Administrator
Guest
winuser01 <--- ★追加された
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user show winuser01
ldb_wrap open of secrets.ldb
dn: CN=winuser01,CN=Users,DC=example,DC=local
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: winuser01
instanceType: 4
whenCreated: 20230717134346.0Z
uSNCreated: 4078
name: winuser01
objectGUID: 37b459dd-db93-4b81-9ce4-43a7e2e6bed3
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
primaryGroupID: 513
objectSid: S-1-5-21-1945139037-3003495288-3791116124-1104
accountExpires: 9223372036854775807
sAMAccountName: winuser01
sAMAccountType: 805306368
userPrincipalName: winuser01@example.local
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=example,DC=local
userAccountControl: 512
pwdLastSet: 133340750680000000
lastLogon: 133340751002137110
logonCount: 1
lastLogonTimestamp: 133340751002137110
whenChanged: 20230717134500.0Z
uSNChanged: 4082
distinguishedName: CN=winuser01,CN=Users,DC=example,DC=local

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# pdbedit -v winuser01
added interface lo ip=127.0.0.1 bcast=127.255.255.255 netmask=255.0.0.0
added interface eth1 ip=192.168.56.42 bcast=192.168.56.255 netmask=255.255.255.0
ldb_wrap open of idmap.ldb
Unix username:        winuser01
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1945139037-3003495288-3791116124-1104
Primary Group SID:    S-1-5-21-1945139037-3003495288-3791116124-513
Full Name:
Home Directory:
HomeDir Drive:        (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time:           月, 17  72023 22:45:00 JST
Logoff time:          0
Kickoff time:         木, 14  930828 11:48:05 JST
Password last set:    月, 17  72023 22:44:28 JST
Password can change:  月, 17  72023 22:44:28 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@rocky9-samba42 ~]#
★ pdbeditでユーザーを追加する ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# pdbedit -a winuser02
added interface lo ip=127.0.0.1 bcast=127.255.255.255 netmask=255.0.0.0
added interface eth1 ip=192.168.56.42 bcast=192.168.56.255 netmask=255.255.255.0
ldb_wrap open of idmap.ldb
new password: ********
retype new password: ********
descriptor_prepare_commit: changes: num_registrations=0
descriptor_prepare_commit: changes: num_registered=0
descriptor_prepare_commit: changes: num_toplevel=0
descriptor_prepare_commit: changes: num_processed=0
descriptor_prepare_commit: objects: num_processed=0
descriptor_prepare_commit: objects: num_skipped=0
descriptor_prepare_commit: changes: num_registrations=0
descriptor_prepare_commit: changes: num_registered=0
descriptor_prepare_commit: changes: num_toplevel=0
descriptor_prepare_commit: changes: num_processed=0
descriptor_prepare_commit: objects: num_processed=0
descriptor_prepare_commit: objects: num_skipped=0
Unix username:        winuser02
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1945139037-3003495288-3791116124-1105
Primary Group SID:    S-1-5-21-1945139037-3003495288-3791116124-513
Full Name:
Home Directory:
HomeDir Drive:        (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          0
Kickoff time:         木, 14  930828 11:48:05 JST
Password last set:    月, 17  72023 22:46:31 JST
Password can change:  月, 17  72023 22:46:31 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user list
ldb_wrap open of secrets.ldb
krbtgt
Administrator
Guest
winuser01
winuser02 <--- ★追加された
[root@rocky9-samba42 ~]#
ドメインに参加しているWindowsPCからAD管理ツールで確認できる

winbindでも確認可能
/etc/nsswitch.confにwinbindを追加する。

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# vi /etc/nsswitch.conf
 :
passwd:     sss files systemd winbind <--- ★winbindを追加する
 :
group:      sss files systemd winbind <--- ★winbindを追加する
 :
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# wbinfo -t
checking the trust secret for domain EXAMPLE via RPC calls succeeded
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# wbinfo -u
EXAMPLE\administrator
EXAMPLE\guest
EXAMPLE\krbtgt
EXAMPLE\winuser01
EXAMPLE\winuser02
[root@rocky9-samba42 ~]#
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/nsswitch.conf
 :
passwd:     sss files systemd winbind <--- ★winbindを追加する
 :
group:      sss files systemd winbind <--- ★winbindを追加する
 :
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# wbinfo -t
checking the trust secret for domain EXAMPLE via RPC calls succeeded
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# wbinfo -u
EXAMPLE\administrator
EXAMPLE\guest
EXAMPLE\krbtgt
EXAMPLE\winuser01
EXAMPLE\winuser02
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# getent passwd 'EXAMPLE\winuser01'
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# id winuser01
id: `winuser01': no such user
[root@rocky9-samba43 ~]#

smbclient を使用して ADの稼働を確認する

smbclientはftpクライアントに似たファイル転送ツールで、以下の操作ではsmb.confで設定していた共有リソース[sysvol]と[netlogon]が参照できるか確認をしている。

★ 共有リソース [sysvol] を確認 ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# testparm -s
 :
[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No
 :
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# ls -l /usr/local/samba/var/locks/sysvol
合計 2
drwxrwx---+ 4 root 3000000 4  77 11:45 example.local
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/sysvol -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]: ********
  .                                   D        0  Sun Jul 16 23:16:46 2023
  ..                                  D        0  Mon Jul 17 23:23:48 2023
  example.local                       D        0  Sun Jul 16 23:16:45 2023

                22239360 blocks of size 1024. 21032320 blocks available
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/sysvol -U winuser01 -c 'ls'
Password for [EXAMPLE\winuser01]: ********
  .                                   D        0  Sun Jul 16 23:16:46 2023
  ..                                  D        0  Mon Jul 17 23:23:48 2023
  example.local                       D        0  Sun Jul 16 23:16:45 2023

                43836928 blocks of size 1024. 42648064 blocks available
[root@rocky9-samba42 ~]#
★ 共有リソース [netlogon] を確認 ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# testparm -s
 :
[netlogon]
        path = /usr/local/samba/var/locks/sysvol/example.local/scripts
        read only = No
 :
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# ls -l /usr/local/samba/var/locks/sysvol/example.local/scripts
合計 0
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/netlogon -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]: ********
  .                                   D        0  Sun Jul 16 23:16:38 2023
  ..                                  D        0  Sun Jul 16 23:16:45 2023

                22236800 blocks of size 1024. 21026560 blocks available
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/netlogon -U winuser01 -c 'ls'
Password for [EXAMPLE\winuser01]: ********
  .                                   D        0  Sun Jul 16 23:16:38 2023
  ..                                  D        0  Sun Jul 16 23:16:45 2023

                43836928 blocks of size 1024. 42648064 blocks available
[root@rocky9-samba42 ~]#

Samba がDNS、Kerberos、NTP、LDAP などの ADサービスと統合する方法について理解する

Sambaで構築したActiveDirectoryのドメインコントローラーにはserver servicesで定義されているサービスが組み込まれており、サービスとして動作しているかはsamba-tool processesコマンドで確認ができる。
必要に応じて外部サービスと連携をさせることができ、server servicesパラメータで有効化/無効化ができる。 

~パラメーター~

  • server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
    Sambaサーバーで有効化するサービスを指定する。
    +サービス名:サービスを有効化する
    -サービス名:サービスを無効化する

[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool processes
 Service:                          PID
--------------------------------------
cldap_server                       131  <--- ★cldap
dnssrv                             158  <--- ★dns
dnsupdate                          153  <--- ★dnsupdate
dreplsrv                           136  <--- ★drepl
kccsrv                             150  <--- ★kcc
kdc_server                         133  <--- ★kdc
kdc_server(worker 3)               146  <--- ★kdc
kdc_server(worker 0)               138  <--- ★kdc
kdc_server(worker 1)               140  <--- ★kdc
kdc_server(worker 2)               142  <--- ★kdc
ldap_server                        129  <--- ★ldap
ldap_server(worker 1)              173  <--- ★ldap
ldap_server(worker 2)              175  <--- ★ldap
ldap_server(worker 0)              171  <--- ★ldap
ldap_server(worker 3)              177  <--- ★ldap
nbt_server                         124  <--- ★nbt
notify-daemon                      180
rpc_server                         121  <--- ★rpc
rpc_server(worker 2)               166  <--- ★rpc
rpc_server(worker 0)               162  <--- ★rpc
rpc_server(worker 1)               164  <--- ★rpc
rpc_server(worker 3)               168  <--- ★rpc
samba                              117
winbind_server                     152  <--- ★winbindd
[root@rocky9-samba42 ~]#

~server servicesのパラメーター値~

  • s3fs
    SMB3対応のファイルサーバー機能

  • rpc
    RCP(Remote Procedure Call)機能

  • nbt
    NBT(NetBIOS Over TCP/IP)機能

  • wrepl
    WINS(Windows Internet Naming Service)のレプリケーション機能

  • ldap
    LDAP機能

  • cldap
    CLDAP(Connectionless LDAP)機能

  • kdc
    Kerberos認証のKDC(Key Distribution Center)機能
    (参考)Running a Samba AD DC with MIT Kerberos KDC - SambaWiki

  • drepl
    ディレクトリのレプリケーション機能

  • winbindd
    Winbind機能

  • ntp_signd
    署名付きNTP機能
    (参考)Time Synchronisation - SambaWiki

  • kcc
    KCC(Knowledge Consistency Checker)機能
    サイト間のレプリケーションを実現するための機能

  • dnsupdate
    DNSレコードを動的に更新する機能

  • dns
    SambaでDNS機能に関する設定は3種類あり、samba-tool domain provisionコマンドで--dns-backendで指定する。
    ・SAMBA_INTERNAL:
     DNSサーバーSamba内蔵のDNSサーバーを使用する。
    ・BIND9_DLZ:
     DNSサーバーにBINDを使用し、ゾーン情報はADのものを使用する。
     server services = -dns の設定をする。
    ・BIND9_FLATFILE:
     DNSサーバーにBINDを使用し、BINDのゾーン情報を使用する。
     server services = -dns の設定をする。

    SAMBA_INTERNAL と BIND9_DLZ の相互変換は samba_upgradednsコマンドでできる。
    (参考)Changing the DNS Back End of a Samba AD DC - SambaWiki



参考文献


この記事が気に入ったらサポートをしてみませんか?