RHEL8/CentOS8/Oracle Linux 8で用意されているsambaパッケージを使ってActive Direcotryサーバを立てることができるか確認してみた。
公式資料:[Red Hat Enterprise Linux 8 にさまざまな種類のサーバーをデプロイするためのガイド]-[第3章 SAMBA をサーバーとして使用]
まずは、パッケージのインストール
# yum install samba <略> # rpm -qa|grep samba samba-libs-4.12.3-12.el8.3.x86_64 samba-common-4.12.3-12.el8.3.noarch samba-client-libs-4.12.3-12.el8.3.x86_64 samba-common-tools-4.12.3-12.el8.3.x86_64 samba-common-libs-4.12.3-12.el8.3.x86_64 samba-4.12.3-12.el8.3.x86_64 #
で、RHEL8/CentOS8での特徴の1つ、「samba-toolが無い」問題。
じゃぁ、どうするの?と前出のマニュアル見てみれば手動で /etc/samba/smb.conf を編集している。
初期状態でどんな設定になるのか
[root@samba48 ~]# ls -l /etc/samba/ 合計 20 -rw-r--r--. 1 root root 20 8月 18 05:50 lmhosts -rw-r--r--. 1 root root 706 8月 18 05:50 smb.conf -rw-r--r--. 1 root root 11327 8月 18 05:50 smb.conf.example [root@samba48 ~]# cat /etc/samba/smb.conf # See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run 'testparm' to verify the config is correct after # you modified it. [global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @printadmin root force group = @printadmin create mask = 0664 directory mask = 0775 [root@samba48 ~]#
参考まで、samba-toolsで作った場合のsmb.confは下記の様になっている。
# Global parameters [global] dns forwarder = 上DNSサーバIPアドレス netbios name = samba48 realm = testad2.local server role = active directory domain controller workgroup = TESTAD2 idmap_ldb:use rfc2307 = yes allow dns updates = nonsecure server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate dns ldap server require strong auth = no [netlogon] path = /usr/local/samba/var/locks/sysvol/testad2.local/scripts read only = No [sysvol] path = /usr/local/samba/var/locks/sysvol read only = No
で、[第3章 SAMBA をサーバーとして使用]を見ると、「スタンドアローンサーバとして単独WORKGROUPをたてる場合」と「既存Active Directory環境にメンバーサーバとして参加する場合」しか用意されておらず、「新規Active Directory環境を作る場合」というものが無い。
samba-toolコマンドを使用しない場合のActive Directory構築手順も見当たらないため、RHEL8/CentOS8が標準で用意しているsambaパッケージを使用しての構築はできないようだ。
CentOS8の場合「yum search samba」でパッケージ検索すると、「centos-releae-samba41?」といった追加レポジトリが出てくる。
[root@samba48 ~]# yum search samba メタデータの期限切れの最終確認: 0:30:30 時間前の 2021年01月21日 09時31分03秒 に実施しました。 ==================================== 名前 完全一致: samba ==================================== samba.x86_64 : Server and Client software to interoperate with Windows machines ================================== 名前 & 概要 一致: samba =================================== centos-release-samba411.noarch : Samba 4.11 packages from the CentOS Storage SIG repository centos-release-samba412.noarch : Samba 4.12 packages from the CentOS Storage SIG repository centos-release-samba413.noarch : Samba 4.13 packages from the CentOS Storage SIG repository ipa-client-samba.x86_64 : Tools to configure Samba on IPA client pcp-pmda-samba.x86_64 : Performance Co-Pilot (PCP) metrics for Samba python3-samba.i686 : Samba Python3 libraries python3-samba.x86_64 : Samba Python3 libraries python3-samba-test.x86_64 : Samba Python libraries samba-client.x86_64 : Samba client programs samba-client-libs.x86_64 : Samba client libraries samba-client-libs.i686 : Samba client libraries samba-common.noarch : Files used by both Samba servers and clients samba-common-libs.x86_64 : Libraries used by both Samba servers and clients samba-common-tools.x86_64 : Tools for Samba servers and clients samba-krb5-printing.x86_64 : Samba CUPS backend for printing with Kerberos samba-libs.x86_64 : Samba libraries samba-libs.i686 : Samba libraries samba-test.x86_64 : Testing tools for Samba servers and clients samba-test-libs.x86_64 : Libraries need by the testing tools for Samba servers and clients samba-winbind.x86_64 : Samba winbind samba-winbind-clients.x86_64 : Samba winbind clients samba-winbind-krb5-locator.x86_64 : Samba winbind krb5 locator samba-winbind-modules.i686 : Samba winbind modules samba-winbind-modules.x86_64 : Samba winbind modules ====================================== 名前 一致: samba ====================================== samba-pidl.noarch : Perl IDL compiler ====================================== 概要 一致: samba ====================================== ctdb.x86_64 : A Clustered Database based on Samba's Trivial Database (TDB) [root@samba48 ~]#
centos-release-samba413をインストールしてみる
[root@samba48 ~]# yum install centos-release-samba413 メタデータの期限切れの最終確認: 1:32:19 時間前の 2021年01月21日 09時31分03秒 に実施しました。 依存関係が解決しました。 ============================================================================================== パッケージ Arch バージョン リポジトリー サイズ ============================================================================================== インストール: centos-release-samba413 noarch 1.0-1.el8 extras 8.8 k 依存関係のインストール: centos-release-storage-common noarch 2-2.el8 extras 9.4 k トランザクションの概要 ============================================================================================== インストール 2 パッケージ ダウンロードサイズの合計: 18 k インストール済みのサイズ: 2.0 k これでよろしいですか? [y/N]: y パッケージのダウンロード: (1/2): centos-release-samba413-1.0-1.el8.noarch.rpm 231 kB/s | 8.8 kB 00:00 (2/2): centos-release-storage-common-2-2.el8.noarch.rpm 252 kB/s | 9.4 kB 00:00 ---------------------------------------------------------------------------------------------- 合計 31 kB/s | 18 kB 00:00 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール : centos-release-storage-common-2-2.el8.noarch 1/2 インストール : centos-release-samba413-1.0-1.el8.noarch 2/2 scriptletの実行中: centos-release-samba413-1.0-1.el8.noarch 2/2 検証 : centos-release-samba413-1.0-1.el8.noarch 1/2 検証 : centos-release-storage-common-2-2.el8.noarch 2/2 インストール済み: centos-release-samba413-1.0-1.el8.noarch centos-release-storage-common-2-2.el8.noarch 完了しました! [root@samba48 ~]#
そうすると、インストールされていたsmba 4.12がアップデートできるようになりました
[root@samba48 ~]# yum check-update メタデータの期限切れの最終確認: 0:02:42 時間前の 2021年01月21日 11時03分56秒 に実施しました。 libwbclient.x86_64 4.13.3-1.el8 centos-samba413 samba.x86_64 4.13.3-1.el8 centos-samba413 samba-client-libs.x86_64 4.13.3-1.el8 centos-samba413 samba-common.noarch 4.13.3-1.el8 centos-samba413 samba-common-libs.x86_64 4.13.3-1.el8 centos-samba413 samba-common-tools.x86_64 4.13.3-1.el8 centos-samba413 samba-libs.x86_64 4.13.3-1.el8 centos-samba413 [root@samba48 ~]#
yum updateすると、「/sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません」って出てるけど、これは大丈夫なんだろうか….
[root@samba48 ~]# yum update -y メタデータの期限切れの最終確認: 0:03:30 時間前の 2021年01月21日 11時03分56秒 に実施しました。 依存関係が解決しました。 ============================================================================================== パッケージ Arch バージョン リポジトリー サイズ ============================================================================================== アップグレード: libwbclient x86_64 4.13.3-1.el8 centos-samba413 37 k samba x86_64 4.13.3-1.el8 centos-samba413 757 k samba-client-libs x86_64 4.13.3-1.el8 centos-samba413 5.5 M samba-common noarch 4.13.3-1.el8 centos-samba413 135 k samba-common-libs x86_64 4.13.3-1.el8 centos-samba413 124 k samba-common-tools x86_64 4.13.3-1.el8 centos-samba413 416 k samba-libs x86_64 4.13.3-1.el8 centos-samba413 110 k 依存関係のインストール: checkpolicy x86_64 2.9-1.el8 baseos 348 k glusterfs x86_64 6.0-37.2.el8 baseos 662 k glusterfs-api x86_64 6.0-37.2.el8 appstream 95 k glusterfs-client-xlators x86_64 6.0-37.2.el8 baseos 870 k glusterfs-libs x86_64 6.0-37.2.el8 baseos 413 k python3-audit x86_64 3.0-0.17.20191104git1c2f876.el8 baseos 86 k python3-libsemanage x86_64 2.9-3.el8 baseos 127 k python3-policycoreutils noarch 2.9-9.el8 baseos 2.2 M python3-setools x86_64 4.3.0-2.el8 baseos 626 k samba-vfs-glusterfs x86_64 4.13.3-1.el8 centos-samba413 40 k トランザクションの概要 ============================================================================================== インストール 10 パッケージ アップグレード 7 パッケージ ダウンロードサイズの合計: 12 M パッケージのダウンロード: (1/17): glusterfs-api-6.0-37.2.el8.x86_64.rpm 1.2 MB/s | 95 kB 00:00 (2/17): checkpolicy-2.9-1.el8.x86_64.rpm 1.4 MB/s | 348 kB 00:00 (3/17): glusterfs-6.0-37.2.el8.x86_64.rpm 2.4 MB/s | 662 kB 00:00 (4/17): python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64. 3.0 MB/s | 86 kB 00:00 (5/17): python3-libsemanage-2.9-3.el8.x86_64.rpm 3.2 MB/s | 127 kB 00:00 (6/17): glusterfs-libs-6.0-37.2.el8.x86_64.rpm 3.4 MB/s | 413 kB 00:00 (7/17): glusterfs-client-xlators-6.0-37.2.el8.x86_64.rpm 2.5 MB/s | 870 kB 00:00 (8/17): python3-setools-4.3.0-2.el8.x86_64.rpm 4.4 MB/s | 626 kB 00:00 (9/17): samba-vfs-glusterfs-4.13.3-1.el8.x86_64.rpm 253 kB/s | 40 kB 00:00 (10/17): libwbclient-4.13.3-1.el8.x86_64.rpm 379 kB/s | 37 kB 00:00 (11/17): samba-4.13.3-1.el8.x86_64.rpm 2.4 MB/s | 757 kB 00:00 (12/17): python3-policycoreutils-2.9-9.el8.noarch.rpm 3.9 MB/s | 2.2 MB 00:00 (13/17): samba-common-4.13.3-1.el8.noarch.rpm 2.6 MB/s | 135 kB 00:00 (14/17): samba-common-libs-4.13.3-1.el8.x86_64.rpm 1.4 MB/s | 124 kB 00:00 (15/17): samba-common-tools-4.13.3-1.el8.x86_64.rpm 3.2 MB/s | 416 kB 00:00 (16/17): samba-libs-4.13.3-1.el8.x86_64.rpm 1.4 MB/s | 110 kB 00:00 (17/17): samba-client-libs-4.13.3-1.el8.x86_64.rpm 5.0 MB/s | 5.5 MB 00:01 ---------------------------------------------------------------------------------------------- 合計 4.2 MB/s | 12 MB 00:02 警告: /var/cache/dnf/centos-samba413-5ae787790677bc21/packages/samba-vfs-glusterfs-4.13.3-1.el8.x86_64.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID e451e5b5: NOKEY CentOS-8 - Samba 4.13 1.0 MB/s | 1.0 kB 00:00 GPG 鍵 0xE451E5B5 をインポート中: Userid : "CentOS Storage SIG (http://wiki.centos.org/SpecialInterestGroup/Storage) <security@centos.org>" Fingerprint: 7412 9C0B 173B 071A 3775 951A D4A2 E50B E451 E5B5 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage 鍵のインポートに成功しました トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 scriptletの実行中: samba-common-4.13.3-1.el8.noarch 1/1 scriptletの実行中: samba-common-4.13.3-1.el8.noarch 1/24 アップグレード : samba-common-4.13.3-1.el8.noarch 1/24 scriptletの実行中: samba-common-4.13.3-1.el8.noarch 1/24 アップグレード : samba-common-libs-4.13.3-1.el8.x86_64 2/24 scriptletの実行中: samba-common-libs-4.13.3-1.el8.x86_64 2/24 アップグレード : samba-client-libs-4.13.3-1.el8.x86_64 3/24 scriptletの実行中: samba-client-libs-4.13.3-1.el8.x86_64 3/24 /sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません アップグレード : libwbclient-4.13.3-1.el8.x86_64 4/24 アップグレード : samba-libs-4.13.3-1.el8.x86_64 5/24 scriptletの実行中: samba-libs-4.13.3-1.el8.x86_64 5/24 /sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません インストール : glusterfs-libs-6.0-37.2.el8.x86_64 6/24 scriptletの実行中: glusterfs-libs-6.0-37.2.el8.x86_64 6/24 /sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません scriptletの実行中: glusterfs-6.0-37.2.el8.x86_64 7/24 インストール : glusterfs-6.0-37.2.el8.x86_64 7/24 scriptletの実行中: glusterfs-6.0-37.2.el8.x86_64 7/24 /sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません インストール : glusterfs-client-xlators-6.0-37.2.el8.x86_64 8/24 インストール : glusterfs-api-6.0-37.2.el8.x86_64 9/24 scriptletの実行中: glusterfs-api-6.0-37.2.el8.x86_64 9/24 /sbin/ldconfig: /lib64/libsmbldap.so.2 はシンボリックリンクではありません アップグレード : samba-common-tools-4.13.3-1.el8.x86_64 10/24 インストール : python3-setools-4.3.0-2.el8.x86_64 11/24 インストール : python3-libsemanage-2.9-3.el8.x86_64 12/24 インストール : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64 13/24 インストール : checkpolicy-2.9-1.el8.x86_64 14/24 インストール : python3-policycoreutils-2.9-9.el8.noarch 15/24 アップグレード : samba-4.13.3-1.el8.x86_64 16/24 scriptletの実行中: samba-4.13.3-1.el8.x86_64 16/24 インストール : samba-vfs-glusterfs-4.13.3-1.el8.x86_64 17/24 scriptletの実行中: samba-4.12.3-12.el8.3.x86_64 18/24 整理 : samba-4.12.3-12.el8.3.x86_64 18/24 scriptletの実行中: samba-4.12.3-12.el8.3.x86_64 18/24 整理 : samba-common-tools-4.12.3-12.el8.3.x86_64 19/24 整理 : samba-libs-4.12.3-12.el8.3.x86_64 20/24 整理 : samba-common-libs-4.12.3-12.el8.3.x86_64 21/24 整理 : samba-client-libs-4.12.3-12.el8.3.x86_64 22/24 scriptletの実行中: libwbclient-4.12.3-12.el8.3.x86_64 23/24 整理 : libwbclient-4.12.3-12.el8.3.x86_64 23/24 整理 : samba-common-4.12.3-12.el8.3.noarch 24/24 scriptletの実行中: libwbclient-4.13.3-1.el8.x86_64 24/24 scriptletの実行中: samba-vfs-glusterfs-4.13.3-1.el8.x86_64 24/24 scriptletの実行中: samba-common-4.12.3-12.el8.3.noarch 24/24 検証 : glusterfs-api-6.0-37.2.el8.x86_64 1/24 検証 : checkpolicy-2.9-1.el8.x86_64 2/24 検証 : glusterfs-6.0-37.2.el8.x86_64 3/24 検証 : glusterfs-client-xlators-6.0-37.2.el8.x86_64 4/24 検証 : glusterfs-libs-6.0-37.2.el8.x86_64 5/24 検証 : python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64 6/24 検証 : python3-libsemanage-2.9-3.el8.x86_64 7/24 検証 : python3-policycoreutils-2.9-9.el8.noarch 8/24 検証 : python3-setools-4.3.0-2.el8.x86_64 9/24 検証 : samba-vfs-glusterfs-4.13.3-1.el8.x86_64 10/24 検証 : libwbclient-4.13.3-1.el8.x86_64 11/24 検証 : libwbclient-4.12.3-12.el8.3.x86_64 12/24 検証 : samba-4.13.3-1.el8.x86_64 13/24 検証 : samba-4.12.3-12.el8.3.x86_64 14/24 検証 : samba-client-libs-4.13.3-1.el8.x86_64 15/24 検証 : samba-client-libs-4.12.3-12.el8.3.x86_64 16/24 検証 : samba-common-4.13.3-1.el8.noarch 17/24 検証 : samba-common-4.12.3-12.el8.3.noarch 18/24 検証 : samba-common-libs-4.13.3-1.el8.x86_64 19/24 検証 : samba-common-libs-4.12.3-12.el8.3.x86_64 20/24 検証 : samba-common-tools-4.13.3-1.el8.x86_64 21/24 検証 : samba-common-tools-4.12.3-12.el8.3.x86_64 22/24 検証 : samba-libs-4.13.3-1.el8.x86_64 23/24 検証 : samba-libs-4.12.3-12.el8.3.x86_64 24/24 アップグレード済み: libwbclient-4.13.3-1.el8.x86_64 samba-4.13.3-1.el8.x86_64 samba-client-libs-4.13.3-1.el8.x86_64 samba-common-4.13.3-1.el8.noarch samba-common-libs-4.13.3-1.el8.x86_64 samba-common-tools-4.13.3-1.el8.x86_64 samba-libs-4.13.3-1.el8.x86_64 インストール済み: checkpolicy-2.9-1.el8.x86_64 glusterfs-6.0-37.2.el8.x86_64 glusterfs-api-6.0-37.2.el8.x86_64 glusterfs-client-xlators-6.0-37.2.el8.x86_64 glusterfs-libs-6.0-37.2.el8.x86_64 python3-audit-3.0-0.17.20191104git1c2f876.el8.x86_64 python3-libsemanage-2.9-3.el8.x86_64 python3-policycoreutils-2.9-9.el8.noarch python3-setools-4.3.0-2.el8.x86_64 samba-vfs-glusterfs-4.13.3-1.el8.x86_64 完了しました! [root@samba48 ~]#
まぁ、アップデート完了してもsamba-tool はいませんでしたけどね
[root@samba48 ~]# which samba-tool /usr/bin/which: no samba-tool in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) [root@samba48 ~]#
というわけで、おとなしくsambaをソースからコンパイルするしかなさそうです。