0.前書き
私事ながら、先日LPIC300に合格しました。
Sambaに重きを置いた資格で、せっかくなのでSambaで遊びます。
今日は、お題の通りSamba4.17.4をソースコードからインストールします。
Samba4.10以上をソースからインストールしたことがある方ならわかるかと思いますが、Sambaソースのコンパイルはかなりの苦行です。
./configureやmake時に必要なプログラムやパッケージが多すぎるのが原因です。
逆に言うと最初から何が必要かわかっていれば、敵ではありません。
そこで、人柱になった気持ちで、心をへし折られながらもなんとか手順に落とし込んだので、少しでも力になれれば幸いです。
1.環境説明
①Active Direcroty Domain Controller(以降ADDC)
構築システム:Samba4.17.4(2023年1月現在最新)
ホスト名:sambaserver
OS:AlmaLinux release 9.1 (Lime Lynx)
IPアドレス:172.16.1.7
備考:DNSサーバも同居
※OSインストール済みで、最低限のネットワーク設定は完了しているものとします。
20240203追記
AlmaLinux9.3にSamba4.19.4(2024年2月現在最新)を入れて本手順にて問題なく設定できました。
②ドメイン環境
DNSドメイン名:home.miyamo83.com
2.構築手順
さくっといきます。赤字の設定値は環境に合わせて変更してください。
①下準備
ホスト名の設定です。
# nmcli general hostname sambaserver
次にhostsファイルの設定です。以下を追記します。
# vi /etc/hosts
172.16.1.7 sambaserver sambaserver.home.miyamo83.com
続いて時刻の設定です。
ADの認証システムに採用されているKerberos君は時間にルーズな奴が大嫌いです。
# vi /etc/chrony.conf
server ntp.nict.jp iburst
chrony.confの変更を反映します。
# systemctl restart chronyd
このコマンドで時刻同期を確認できます。
サーバ名の前に*がついていれば同期できています。
(?とかであれば文字化けしてるかも)
20240203追記
?は文字化けではありませんでした。
NTPサーバへの通信ができない、もしくは設定した際の初期ステータスです。このステータスであれば、少し時間をおいて再確認してみてください。
# chronyc sources
②パッケージやプログラムのインストール
前書きでも書いた通り、異常な数のパッケージが必要になります。
私は以下のサイトに書かれたパッケージをインストールし、
./configureやmake時にエラーになるたびに新しいパッケージをインストールし続けました。
まず、epelのインストールとCRBレポジトリの有効化です。
# dnf -y install epel-release
# dnf config-manager --set-enabled crb
レポジトリの一覧を確認できます。
# dnf repolist
続いて、現行パッケージのアップデートです。
# dnf -y update
それでは、いよいよ必要なパッケージをすべてインストールしていきます。
もともと最新化されているものもありますが、影響ありません。
# dnf install -y docbook-style-xsl gcc gdb gnutls \
gnutls-devel-3.7.6-12.el9_0.x86_64 gpgme jansson \
keyutils-libs krb5-workstation libacl libaio \
libarchive libattr libblkid libtasn1 libtasn1-tools \
libxml2 libxslt openldap pam perl \
perl-ExtUtils-MakeMaker popt python3-cryptography \
python3-dns python3-gpg readline rpcgen systemd \
tar zlib python3-devel.x86_64 zlib-devel-1.2.11-34.el9.x86_64 \
lmdb-devel-0.9.29-3.el9.x86_64 flex-2.6.4-9.el9.x86_64 \
bison gpgme-devel-1.15.1-6.el9.x86_64 perl-Parse-Yapp-1.21-12.el9.noarch \
jansson-devel-2.14-1.el9.x86_64 libarchive-devel-3.5.3-3.el9.x86_64 \
libacl-devel-2.3.1-3.el9.x86_64 libattr-devel-2.5.1-3.el9.x86_64 \
cyrus-sasl-devel-2.1.27-20.el9.x86_64 openldap-devel-2.6.2-3.el9.x86_64 \
pam-devel-1.5.1-12.el9.x86_64 dbus-devel-1:1.12.20-6.el9.x86_64 \
python3-markdown-3.3.4-4.el9.noarch python3-markdown-include-0.6.0-11.el9.noarch \
perl-JSON-4.03-5.el9.noarch popt-devel-1.18-8.el9.x86_64
20240203追記
各パッケージのバージョンはその都度更新されるため、ライブラリにも残っていません。
なので、バージョンまで表記するのは悪手でした…。
バージョンを抜いた場合でも、ライブラリ内のパッケージ名で補完してくれるため、問題なくインストールできるかと思います。
dnf install -y docbook-style-xsl gcc gdb gnutls \ gnutls-devel gpgme jansson \ keyutils-libs krb5-workstation libacl libaio \ libarchive libattr libblkid libtasn1 libtasn1-tools \ libxml2 libxslt openldap pam perl \ perl-ExtUtils-MakeMaker popt python3-cryptography \ python3-dns python3-gpg readline rpcgen systemd \ tar zlib python3-devel zlib-devel \ lmdb-devel flex \ bison gpgme-devel perl-Parse-Yapp \ jansson-devel libarchive-devel \ libacl-devel libattr-devel \ cyrus-sasl-devel openldap-devel \ pam-devel dbus-devel \ python3-markdown python3-markdown-include \ perl-JSON popt-devel
③ソースコードのダウンロードとインストール
Sambaのソースコードを配置するディレクトリを作成し、移動します。
# mkdir /usr/local/src/samba ;cd /usr/local/src/samba
公式サイトより最新版のソースコードをダウンロードします。
# wget https://download.samba.org/pub/samba/samba-latest.tar.gz
tarファイルを展開し、移動します。展開前の圧縮フォルダの削除もやってやりましょう。
# tar zxvf samba-latest.tar.gz ;rm -f samba-latest.tar.gz ;cd samba-4.17.4
ではMakeファイルの作成をしていきます。
# ./configure
エラーなく終了すれば、コンパイルとインストールです。
必要に応じて「-j2」などを指定すればマルチプロセスで処理できます。
# make ;make install
ここまでエラーなしで来られた時、脳汁が出すぎて溺れそうになりました。
④ADDC構築下準備
インストールしたSambaはデフォルト設定で「/usr/local/samba/」に展開されます。
「/usr/local/samba/bin」と「/usr/local/samba/sbin」には当然パスは通っていないので、設定が必要です。PATH変数を以下のように書き換えます。
# vi /root/.bashrc PATH="/usr/local/samba/bin:/usr/local/samba/sbin:$HOME/.local/bin:$HOME/bin:$PATH"
ちなみにCentOSだと~/.bash_profileなのですが、Almaで同じ設定をしても反映されませんでした。起動時のスクリプト読み込み順序が異なるのかもしれません。
20240203追記
本来「~/.bash_profile」はログインシェルの起動時に読み込まれますが、どうやらログインシェルを起動しないsudoのオプションで実行していたため、読み込まれていなかったようです。
おそらくsudo -sで行っていたため、rootのログインシェルではない、通常のシェルで起動していたようです。sudo -iではちゃんとパスが通っていました。
先ほどの変更内容を反映させ、再起動します。
# source ~/.bashrc
# systemctl reboot
起動したら、先ほど設定したパスにパスが通っているか確認するために以下のコマンドを打ちます。
# samba -V
以下のように返ってきました。
# Version 4.17.4
ADDCを構築する前に、ビルトインのsmb.confを削除します。
# rm -f /etc/samba/smb.conf
⑤ADDC構築
では構築します。
# samba-tool domain provision --use-rfc2307 --interactive
20240203追記
以下の設定部分が抜けていました。
基本デフォルト([]内の値)のままでよいので、パスワード設定以外はすべて空欄でOKです。
Realm [HOME.MIYAMO83.COM]:
Domain [HOME]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write ‘none’ to disable forwarding) [172.16.0.254]:
Administrator password:
Retype password:
ERROR(<class ‘samba.provision.ProvisioningError’>): Provision failed – ProvisioningError: guess_names: Workgroup ‘HOME.MIYAMO83.COM’ in smb.conf must match chosen domain ‘HOME’! Please remove the /usr/local/samba/etc/smb.conf file and let provision generate it
このようなエラーが出た場合、素直に「/usr/local/samba/etc/smb.conf」を削除してください。
プロセスを立ち上げて、動いていることを確認します。
# samba
# ps -aux | grep samba
動いてるとこんな感じ
# root 1771 0.0 0.1 19552 12084 ? Ss 13:40 0:00 sshd: sambaserver [priv] sambase+ 1774 0.0 0.1 19768 11096 ? Ss 13:41 0:00 /usr/lib/systemd/systemd --user sambase+ 1775 0.0 0.0 107360 6224 ? S 13:41 0:00 (sd-pam) sambase+ 1782 0.0 0.0 19432 7132 ? S 13:41 0:00 sshd: sambaserver@pts/0 sambase+ 1783 0.0 0.0 7008 5716 pts/0 Ss 13:41 0:00 -bash root 1841 1.1 0.5 108732 40308 ? Ss 13:51 0:00 samba root 1842 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1843 0.0 0.3 108736 27044 ? S 13:51 0:00 samba root 1844 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1845 0.0 0.4 108736 33452 ? S 13:51 0:00 samba root 1846 0.0 0.3 108740 24472 ? S 13:51 0:00 samba root 1847 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1848 1.1 0.7 112156 55284 ? Ss 13:51 0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground root 1849 0.0 0.4 108736 31544 ? S 13:51 0:00 samba root 1850 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1851 0.0 0.3 108740 24476 ? S 13:51 0:00 samba root 1852 0.0 0.3 108736 26848 ? S 13:51 0:00 samba root 1853 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1854 8.2 0.4 73028 33668 ? S 13:51 0:00 samba root 1855 0.0 0.3 108740 24476 ? S 13:51 0:00 samba root 1856 12.3 0.4 108736 33136 ? S 13:51 0:01 samba root 1857 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1858 0.0 0.3 72608 25632 ? S 13:51 0:00 samba root 1859 0.0 0.3 108740 24476 ? S 13:51 0:00 samba root 1860 0.0 0.3 108736 30804 ? S 13:51 0:00 samba root 1861 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1862 0.0 0.3 72608 25632 ? S 13:51 0:00 samba root 1863 0.0 0.3 108740 24476 ? S 13:51 0:00 samba root 1864 0.0 0.3 108736 27452 ? S 13:51 0:00 samba root 1865 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1866 0.0 0.3 72608 25632 ? S 13:51 0:00 samba root 1867 0.0 0.4 108736 31532 ? S 13:51 0:00 samba root 1868 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1869 0.0 0.3 108740 24472 ? S 13:51 0:00 samba root 1870 0.0 0.4 108740 33508 ? S 13:51 0:00 samba root 1871 0.0 0.3 108740 24472 ? S 13:51 0:00 samba root 1872 0.0 0.3 108736 27048 ? S 13:51 0:00 samba root 1873 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1874 0.0 0.4 108740 33316 ? S 13:51 0:00 samba root 1875 0.0 0.3 108740 24472 ? S 13:51 0:00 samba root 1876 0.0 0.3 108736 30720 ? S 13:51 0:00 samba root 1877 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1878 0.0 0.3 108740 24472 ? S 13:51 0:00 samba root 1879 0.0 0.3 108736 30760 ? S 13:51 0:00 samba root 1880 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1881 1.1 0.6 108676 53672 ? Ss 13:51 0:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground root 1882 0.0 0.4 108740 33252 ? S 13:51 0:00 samba root 1883 0.0 0.3 108736 30916 ? S 13:51 0:00 samba root 1884 0.0 0.3 108736 24472 ? S 13:51 0:00 samba root 1885 0.0 0.3 108740 24472 ? S 13:51 0:00 samba root 1886 0.0 0.4 109156 32528 ? S 13:51 0:00 samba root 1887 0.0 0.4 108740 33572 ? S 13:51 0:00 samba root 1894 0.0 0.4 110236 35584 ? S 13:51 0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground root 1895 0.0 0.4 110236 31484 ? S 13:51 0:00 /usr/local/samba/sbin/smbd -D --option=server role check:inhibit=yes --foreground root 1896 0.0 0.4 108676 37192 ? S 13:51 0:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground root 1897 0.1 0.4 109624 38680 ? S 13:51 0:00 /usr/local/samba/sbin/winbindd -D --option=server role check:inhibit=yes --foreground root 1898 0.0 0.3 108740 24496 ? S 13:51 0:00 samba root 1899 0.0 0.3 107484 30796 ? S 13:51 0:00 samba root 1900 0.0 0.3 108740 24496 ? S 13:51 0:00 samba root 1901 0.0 0.3 107484 30796 ? S 13:51 0:00 samba root 1902 0.0 0.3 108740 24496 ? S 13:51 0:00 samba root 1903 0.0 0.3 107484 30808 ? S 13:51 0:00 samba root 1904 0.0 0.3 108740 24496 ? S 13:51 0:00 samba root 1905 0.0 0.3 107484 30808 ? S 13:51 0:00 samba root 1907 0.0 0.0 4592 2244 pts/0 S+ 13:51 0:00 grep --color=auto samba
ADDCとして機能しているか確認します。
デフォルトで「SYSVOL」「NETLOGON」「IPC$」があればよいです。
# smbclient -L localhost -U%
# Sharename Type Comment --------- ---- ------- sysvol Disk netlogon Disk IPC$ IPC IPC Service (Samba 4.17.4) SMB1 disabled -- no workgroup available
ユーザも確認します。
# samba-tool user list
デフォルトで「Guest」「Administrator」「krbtgt」があればよいです。
Guest Administrator krbtgt
DNSの設定を変えます。
# vi /etc/resolv.conf
search home.miyamo83.com
nameserver 127.0.0.1
20240203追記
以下、もともとの値です。
# cat /etc/resolv.conf # Generated by NetworkManager search home.miyamo83.com nameserver 172.16.0.254
見ていただいたらわかりますが、NetworkManagerによって作成されたコンフィグなので、手書きしてもNetworkManagerを変えなければ、ロールバックされます。
なのでNetworkManagerを変更するように修正しました。
# nmcli connection modify ens18 ipv4.dns "127.0.0.1 172.16.0.254"
※ens18はサーバによって異なるので、「ip a」などで確かめてください。
※searchがない場合は以下も追加してください。
# nmcli connection modify ens18 ipv4.dns-search home.miyamo83.com
設定反映と設定内容の確認です。
# systemctl restart NetworkManager
# cat /etc/resolv.conf
search home.miyamo83.com
nameserver 127.0.0.1
nameserver 172.16.0.254
※もし、sambaサービスが有効の際に外部のドメインの名前解決ができない場合は、dnsのフォワーディングが行われないような動きになっている可能性があるため、以下を追記します。
# vi /usr/local/samba/etc/smb.conf
[global]
dns forwarder = 172.16.0.254
※我が家でのDNSサーバの宛先なので、環境に合わせて変更するか雑に8.8.8.8でも設定しておいてください。
20240203追記
以下の設定部分が抜けていました。
# vi /etc/krb5.conf [libdefaults] default_realm = HOME.MIYAMO83.COM dns_lookup_kdc = true [domain_realm] .home.miyamo83.com = HOME.MIYAMO83.COM home.miyamo83.com = HOME.MIYAMO83.COM
[libdefaults]の二つはケルベロス認証時に必須になると思われます。
[domain_realm]はレルムのマッピング用途なので、上記のみの場合不要な気もしますが以下のサイトに従って記載しています。
あまり詳しく調べられていませんがドメインコントローラーを冗長している場合[realms]へ記載が必要かもしれません。
参考サイト:https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html
最後に、Kerberosに必要なTGTの取得テストを行います。
# kinit administrator@HOME.MIYAMO83.COM
以下が成功時の応答です。
Warning: Your password will expire in 41 days on 2023年03月04日 13時47分16秒
[root@sambaserver sambaserver]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@HOME.MIYAMO83.COM
Valid starting Expires Service principal
2023-01-21T15:10:15 2023-01-22T01:10:15 krbtgt/HOME.MIYAMO83.COM@HOME.MIYAMO83.COM
renew until 2023-01-22T15:10:09
⑥ADDCの自動起動設定
ソースコードからインストールしたプログラムはSystemdのサービス登録を手動で行わなくてはなりません。
# vi /etc/systemd/system/samba.service
以下記載内容です。
[Unit]
Description= Samba 4 Active Directory
After=syslog.target
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/samba/var/run/samba.pid
ExecStart=/usr/local/samba/sbin/samba
[Install]
WantedBy=multi-user.target
20240203追記
少し修正しました。理由はもう少し下に書いています。
[Unit]
Description= Samba 4 Active Directory
Wants=network-online.target
After=syslog.target network.target network-online.target
[Service]
Type=forking
PIDFile=/usr/local/samba/var/run/samba.pid
ExecStart=/usr/local/samba/sbin/samba
[Install]
WantedBy=multi-user.target
設定の反映です。
# systemctl daemon-reload
それでは自動起動のコマンドと確認のコマンドを打ちます。
# systemctl enable samba.service ;systemctl is-enabled samba.service
enableと返れば成功です。やったね。
⑦firewalldの許可設定
所謂穴あけです。
# firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent; \
firewall-cmd --add-port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \
firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent; \
firewall-cmd --add-port=139/tcp --permanent;firewall-cmd --add-port=389/tcp --permanent; \
firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \
firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent; \
firewall-cmd --add-port=636/tcp --permanent;firewall-cmd --add-port=1024-5000/tcp --permanent;\
firewall-cmd --add-port=3268-3269/tcp --permanent;firewall-cmd --add-port=49152-65535/tcp --permanent
20240203追記
bash上で改行後に続けてコマンドを打つ場合はバックスラッシュを用いますが、全文コピペすると改行が入らないため、バックスラッシュが余計でした…修正しています。
# firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;
firewall-cmd --add-port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent;
firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;
firewall-cmd --add-port=139/tcp --permanent;firewall-cmd --add-port=389/tcp --permanent;
firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent;
firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;
firewall-cmd --add-port=636/tcp --permanent;firewall-cmd --add-port=1024-5000/tcp --permanent;
firewall-cmd --add-port=49152-65535/tcp --permanent
firewalldは「–permanent」オプションを付けて永続化させますが、
その場合、即時反映されませんので、反映コマンドを打ちます。
# systemctl restart firewalld.service
設定内容を確認して、作業完了です。
# firewall-cmd --list-all
20240203追記
最初にブログを書いたときにはなかった不具合が起きました。(気づかなかっただけかも…)
※上記ではsambaserverという名前で構築していましたがadserverに変更しています。
sambaserver=adserverで読み替えてください。
サーバを起動した後、sambaサービスが自動起動する際にすべてのプロセスが立ち上がっていないようです。
2月 02 01:41:29 adserver smbd[1048]: Copyright Andrew Tridgell and the Samba Team 1992-2023
2月 02 01:41:29 adserver samba[815]: [2024/02/02 01:41:29.740663, 0] ../../source4/samba/process_prefork.c:630(prefork_child_pipe_handler)
2月 02 01:41:29 adserver samba[815]: prefork_child_pipe_handler: Parent 815, Child 1049 exited with status 0
2月 02 01:41:29 adserver samba[815]: [2024/02/02 01:41:29.741429, 0] ../../source4/samba/process_prefork.c:630(prefork_child_pipe_handler)
2月 02 01:41:29 adserver samba[815]: prefork_child_pipe_handler: Parent 815, Child 1057 exited with status 0
2月 02 01:41:29 adserver samba[815]: [2024/02/02 01:41:29.749910, 0] ../../source4/samba/process_prefork.c:630(prefork_child_pipe_handler)
2月 02 01:41:29 adserver samba[815]: prefork_child_pipe_handler: Parent 815, Child 1055 exited with status 0
2月 02 01:41:29 adserver winbindd[1068]: [2024/02/02 01:41:29.761319, 0] ../../source3/winbindd/winbindd.c:1441(main)
2月 02 01:41:29 adserver winbindd[1068]: winbindd version 4.19.4 started.
2月 02 01:41:29 adserver winbindd[1068]: Copyright Andrew Tridgell and the Samba Team 1992-2023
この状態でPCからドメイン参加を要請しても弾かれます。
ちなみにWindows 11 proでのエラー内容は以下。
—————————————————————————————————
注意: この情報はネットワーク管理者向けのものです。ネットワーク管理者でない場合は、ネットワーク管理者に連絡してこの情報を伝えてください。この情報はファイル C:\WINDOWS\debug\dcdiag.txt に記録されています。
ドメイン “home.miyamo83.com” のドメイン コントローラーを検索するために使用される DNS の Service Location (SRV) リソース レコードは正常に照会されました:
クエリは _ldap._tcp.dc._msdcs.home.miyamo83.com の SRV レコードに対するものでした
クエリによって、次のドメイン コントローラーが識別されました:
adserver.home.miyamo83.com
しかし、どのドメイン コントローラーにもアクセスできませんでした。
このエラーの一般的な原因として次のものがあります:
– ドメイン コントローラーの名前を IP アドレスにマップするための Host (A) または (AAAA) レコードが不足しているか、正しくないアドレスを含んでいます。
– DNS に登録されているドメイン コントローラーがネットワークに接続されていないか、実行されていません。
—————————————————————————————————
sambaを再起動すると普通に立ち上がり、自動起動を無効にしてサーバの再起動後に手動でサービスの立ち上げを行っても正常に起動します。
そこで、sambaのログを見ているとどうやら子プロセスを立ち上げようとした際に、ネットワークが立ち上がり切っていないためにエラーが起きているように見えます。
# tail /usr/local/samba/var/log.samba
[2024/02/04 01:02:14.679342, 0] ../../source4/lib/socket/interface.c:335(load_interface_list)
WARNING: no network interfaces found
[2024/02/04 01:02:14.682439, 0] ../../source4/lib/socket/interface.c:335(load_interface_list)
WARNING: no network interfaces found
[2024/02/04 01:02:14.684800, 0] ../../source4/lib/socket/interface.c:335(load_interface_list)
WARNING: no network interfaces found
[2024/02/04 01:02:14.704833, 0] ../../source4/samba/process_prefork.c:630(prefork_child_pipe_handler)
prefork_child_pipe_handler: Parent 821, Child 1050 exited with status 0
[2024/02/04 01:02:14.705656, 0] ../../source4/samba/process_prefork.c:630(prefork_child_pipe_handler)
prefork_child_pipe_handler: Parent 821, Child 1058 exited with status 0
[2024/02/04 01:02:14.706221, 0] ../../source4/samba/process_prefork.c:630(prefork_child_pipe_handler)
prefork_child_pipe_handler: Parent 821, Child 1056 exited with status 0
[2024/02/04 01:16:58.743188, 0] ../../source4/samba/server.c:633(binary_smbd_main)
samba version 4.19.4 started.
Copyright Andrew Tridgell and the Samba Team 1992-2023
そこで、sambaをdnfでインストールした場合のsmb.serviceを見てみると
# cat /usr/lib/systemd/system/smb.service ※別のサーバです。
[Unit]
Description=Samba SMB Daemon
Documentation=man:smbd(8) man:samba(7) man:smb.conf(5)
Wants=network-online.target
After=network.target network-online.target nmb.service winbind.service
[Service]
Type=notify
PIDFile=/run/smbd.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=/usr/sbin/smbd –foreground –no-process-group $SMBDOPTIONS
ExecReload=/bin/kill -HUP $MAINPID
LimitCORE=infinity
Environment=KRB5CCNAME=FILE:/run/samba/krb5cc_samba
[Install]
WantedBy=multi-user.target
network-online.targetの起動まで待機しているようです。
詳しくわかりませんが、network.targetだけはNGでnetwork-online.targetを待つ必要があるかもと思い、以下のように書き換えました。
# vi /etc/systemd/system/samba.service
[Unit]
Description= Samba 4 Active Directory
Wants=network-online.target
After=syslog.target
After=network.target network-online.target
[Service]
Type=forking
PIDFile=/usr/local/samba/var/run/samba.pid
ExecStart=/usr/local/samba/sbin/samba
[Install]
WantedBy=multi-user.target
再起動後、無事にプロセスがすべて立ち上がり、PCからのドメイン参加に成功しました。
3.後書き
これで使用期限付きの評価版Windows Serverとはお別れできますね!
最後までこき使ってあげましょう。
ところで、最近はトーマスのチューイングキャンディにハマっています。
トーマスのストックが切れたら、体がブルブル震えてくるようになりましたが僕は元気です。
20240203追記
トーマスのチューイングキャンディが製造中止になりました。体の震えが止まりません。
コメント
こちらのサイトでADDCの勉強になりました。
ところで、/etc/krb5.confに関しての記載がなかったので少し迷いましたが、無事にADDCの構築ができました。
ありがとうございます。
コメントありがとうございます。
返信に時間が経ってしまい申し訳ございません。
ご認識の通り/etc/krb5.confの設定が抜けておりましたので、追記させていただきました。
ご迷惑をおかけし申し訳ございません。
稚拙な文章ですが、少しでもお役に立てられたのならば光栄です。