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をソースからコンパイルするしかなさそうです。