OSSTech Samba インストールガイド

OSSTech(株)更新日

2022 年 7 月 20 日

目次
1

はじめに

1

1.1

本書の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

前提条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.3

略語. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

2

Samba 4.X パッケージのインストール

22.1

システム要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22.2

パッケージ構成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22.3

Samba パッケージのインストール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

Samba 4.X パッケージのアップデート

5

Samba パッケージのアップデート . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

Samba のファイル構成

8コマンド、各種設定ファイルの配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Samba の運用

1033.144.1
55.1

起動させるサービスの選択

5.2

Samba サービスの制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.3

Samba サービスの自動起動・停止の設定

5.4

オンラインマニュアルの参照 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11Samba アップデート時のパラメーターの変更一覧

126. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6.1

map readonly, store dos attributes, ea support . . . . . . . . . . . . . . . . . . . . . . . . . 126.2

acl allow execute always . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6.3

client lanman auth、client plaintext auth、lanman auth . . . . . . . . . . . . . . . . . . . . 12

6.4

ntlm auth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

注意事項

14

7.1

ほかのファイル共有サービスやローカルアクセスとの共存 . . . . . . . . . . . . . . . . . . . .

14

7.2

ショートファイル名生成機能の無効化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

改版履歴

15

© 2022 OSSTech Corporationi78

1 はじめに
1.1 本書の目的
本文書は、弊社提供の Samba ソフトウェアパッケージのインストールを実施するための手順書です。 Sambaのインストールやアップデートの際には、必ず本文書の内容を確認してから作業を実施してください。
本文書に関する記載内容について疑問点等がある場合には、弊社サポート窓口までお問い合わせください。

1.2 前提条件
本書は特に指示がない限り以下のような条件を前提に記述しています。これと異なる場合は、適宜内容を読み替えるか必要な作業を別途実施してください。

• 作業者が OS と関連ソフトウェアの管理や操作手順についての一般的な知識を有すること。
• OS と関連ソフトウェアの基本設定が適切になされていること。
• OS のセキュア OS 機能 (SELinux 等) やファイアウォール機能を無効にすること。
• 管理ユーザー root のシェル端末で作業すること。(作業ユーザーを指定している場合を除く)• OSSTech 製品パッケージファイル群をまとめたアーカイブをインストール対象 OS 環境の /srv/work
ディレクトリ以下に展開しておくこと。

1.3 略語本書では必要に応じて以下のような略語を用います。

•「Red Hat Enterprise Linux」を「RHEL」と表記します。
•「Active Directory」を「AD」と表記します。
•「ドメインコントローラー」を「DC」と表記します。

© 2022 OSSTech Corporation

12 Samba 4.X パッケージのインストール
2.1 システム要件
2.1.1 ソフトウェア要件
以下のいずれかの OS 環境が必要です。

• RHEL 8 / CentOS 8 / Rocky Linux 8 / AlmaLinux 8(x86_64)• RHEL 7 / CentOS 7 (x86_64)

2.1.2 ハードウェア要件
ソフトウェア要件に記載の OS が動作する以下のハードウェア環境が必要です。

• CPU:– Intel Xeon 2.9 GHz 以上• メモリ:– AD DC の場合: 4 GiB 以上 (クライアント数等に依存)– そのほか: 2 GiB 以上 (クライアント数等に依存)• ファイルシステム:– ソフトウェア: /opt/osstech 5 GiB 以上– データ: /var/opt/osstech 10 GiB 以上 (ログ保存数などに依存)
ファイル容量が不足している場合、インストール時に以下のようなエラーが出力されることがあります。この場合はファイルシステムの空き容量を確認し、不足している場合はファイルシステムの再設定をお願いいたします。

Preparing packages for installation...
installing package osstech-samba needs 2MB on the /opt/osstech filesystem

2.2 パッケージ構成
OSSTech 版の Samba パッケージは、以下のパッケージより構成されています。
• OSSTech ソフトウェア製品基本パッケージ– osstech-base– osstech-support© 2022 OSSTech Corporation2– osstech-daemontools (RHEL 7 以前)• Samba 関連パッケージ– osstech-samba– osstech-samba-common– osstech-samba-manpages– osstech-samba-python– osstech-samba-winbind-modules– osstech-samba4.*-libs– osstech-libiconv

2.3 Samba パッケージのインストール
2.3.1 準備パッケージのインストールは、root ユーザーのみに許可されていますので、 最初に su コマンドで root ユーザーになります。

$ su Password: root のパスワードを入力 (画面には表示されません)

弊社から提供されたパッケージ一式をインストール先ホストの任意のディレクトリに展開します。
以下では /srv/work に展開することを前提として記述します。

2.3.2 依存パッケージ
弊社提供の Samba で必要とされる OS 同梱パッケージは、以下となります。

• avahi-libs• cups-libs• gnutls• ksh• libarchive• net-tools• perl• psmisc• python36 (RHEL 8 以降)• python3-dns (RHEL 8 以降)• python-dns (RHEL 7 以前)• python-crypto (RHEL 7 以前)© 2022 OSSTech Corporation3

• rsyslog

2.3.3 パッケージのインストール
弊社提供の Samba パッケージは /opt/osstech ディレクトリ配下に新規インストールされます。

/srv/work 下の展開先ディレクトリに弊社提供のパッケージ一式があることを確認します。

# cd /srv/work# tar -xfz osstech-samba-4.15.5-157.el8.tar.gz# cd osstech-samba-4.15.5-157.el8# ls
install.sh x86_64install.sh コマンドを実行することで、インストールに必要な依存パッケージのダウンロード、インストール、および、弊社 Samba パッケージ一式がインストールされます。依存パッケージは、通常 OS で設定されている yum レポジトリからネットワーク経由で取得しますが、yum コマンドでパッケージの取得ができないサーバー環境の場合、事前に OS メディア等で依存パッケージを入手し、rpm コマンドで依存パッケージのインストールを完了しておいてください。

# ./install.sh

install.sh コマンドを実行すると、パッケージの依存関係の確認が行われ、Is this ok [y/N]:という表示が行われます。 y と Enter キーを入力するとインストール処理が実行され、依存パッケージおよびSamba パッケージのインストールが行われます。
以下の出力が得られれば、パッケージのインストールは完了です。

完了しました! (もしくは Complete!)

なお、インストール中に以下のメッセージが出力されます。このメッセージは、インストールされた設定ファイル（/opt/osstech/etc/samba/smb.conf) が AD 相当の設定ではなく、NT ドメイン相当もしくはファイルサーバー用の設定のために出力されます。

If server role is NOT 'active directory domain controller',
we DO NOT start 'samba' service.

© 2022 OSSTech Corporation4

3 Samba 4.X パッケージのアップデート
セキュリティ修正などによって弊社提供の Samba パッケージ一式をアップデートする際は、次の手順で実施してください。

3.1 Samba パッケージのアップデート
3.1.1 バックアップの取得
パッケージのアップデート前に、各種設定ファイルおよびデータファイルのバックアップを取得しておきます。
通常の構成の場合、下記のディレクトリのバックアップを実施してください。

• /opt/osstech/etc/samba– Samba の設定ディレクトリ
• /opt/osstech/var/lib/samba– Samba のデータディレクトリ

3.1.2 準備パッケージのアップデートは、root ユーザーのみに許可されていますので、 最初に su コマンドで root ユーザーになります。

$ su Password: root のパスワードを入力 (画面には表示されません)

弊社から提供されたパッケージ一式をアップデート先ホストの任意のディレクトリに展開します。
以下では /srv/work に展開することを前提として記述します。

3.1.3 パッケージのアップデート/srv/work 下の展開先ディレクトリに弊社提供のパッケージ一式があることを確認します。

# cd /srv/work# tar -xfz osstech-samba-4.15.5-157.el8.tar.gz# cd osstech-samba-4.15.5-157.el8# ls
install.sh x86_64© 2022 OSSTech Corporation5展開されたディレクトリに含まれる install.sh コマンドにて、弊社パッケージのアップデートを行うことができます。また、必要に応じて、依存パッケージのインストールも実施します。 ( 依存パッケージは yum レポ
ジトリより取得します。 ) もし、アップデート対象のサーバーが yum コマンドでパッケージを取得できない環境の場合、事前に OS メディア等で依存パッケージを入手し、rpm コマンドなどでサーバーにインストールを行ってください。

# ./install.sh

install.sh コマンドを実行すると、Is this ok [y/N]:という表示が行われます。 ここで y と Enter キーを入力すると、依存パッケージも含めてパッケージ一式のインストールが行われます。
以下の出力が得られればパッケージのアップデートは完了です。

完了しました! (もしくは Complete!)

なお、アップデート中に以下のメッセージが出力されます。出力されるパターンは 2 パターンあり、 利用している環境が AD 相当の DC の場合と NT 相当の DC（ファイルサーバーも含む）の場合で変わってきます。
利用環境が AD 相当の DC

If server role is 'active directory domain controller',
we DO NOT start 'nmbd' service.
If server role is 'active directory domain controller',
we DO NOT start 'smbd' service.
If server role is 'active directory domain controller',
we DO NOT start 'winbindd' service.

利用環境が NT 相当の DC（ファイルサーバー含む）

If server role is NOT 'active directory domain controller',
we DO NOT start 'samba' service.

これらのメッセージが出力されてもアップデートには影響はありません。

Samba パッケージのアップデート処理内で、smbd、nmbd、winbindd サービスもしくは samba サービスは自動的に再起動されます。
現在インストールされている Samba のバージョンは下記コマンドで確認できます。

© 2022 OSSTech Corporation6

# rpm -q osstech-samba
osstech-samba-4.15.5-157.el8.x86_64© 2022 OSSTech Corporation

7

4 Samba のファイル構成
4.1 コマンド、各種設定ファイルの配置
弊社提供の Samba パッケージは /opt/osstech ディレクトリ配下にインストールされます。

• Samba の設定ファイル– /opt/osstech/etc/samba/smb.conf• Samba の主要なコマンド類– /opt/osstech/bin/net∗ Samba、およびリモート SMB サーバーの管理ツール– /opt/osstech/bin/nmblookup∗ NetBIOS 名の問い合わせツール– /opt/osstech/bin/pdbedit∗ ユーザーアカウント、マシンアカウントなどの管理– /opt/osstech/bin/samba-tool∗ AD DC 構築・運用で利用するツール– /opt/osstech/bin/smbpasswd∗ Samba に登録されたユーザーのパスワード変更用ツール– /opt/osstech/bin/smbclient∗ SMB サーバーリソースにアクセスするクライアントツール– /opt/osstech/bin/testparm∗ smb.conf ファイルのパラメータチェック用コマンド– /opt/osstech/bin/wbinfo∗ AD 連携実施時/AD 連携機能利用時に各種情報を取得するツール• Samba の各種デーモン類– /opt/osstech/sbin/smbd∗ SMB ファイルサーバー/プリントサーバー機能などを提供するデーモン– /opt/osstech/sbin/nmbd∗ NetBIOS ネームサービスを提供するデーモン– /opt/osstech/sbin/winbindd∗ AD 連携機能などのサービスを提供するデーモン– /opt/osstech/sbin/samba∗ AD DC としての機能を提供するデーモン• Samba のデータディレクトリ
– /opt/osstech/var/lib/samba• Samba のキャッシュディレクトリ
– /opt/osstech/var/cache/samba© 2022 OSSTech Corporation8• Samba のログディレクトリ
– /opt/osstech/var/log/samba© 2022 OSSTech Corporation

9

5 Samba の運用
5.1 起動させるサービスの選択
弊社提供の Samba は、従来の NT 相当の DC やファイルサーバー、ドメインメンバー機能と Samba4 で新たに追加された AD 相当の DC のいづれか選択し利用することになりますが、それぞれで起動させるサービスが違います。
機能起動させるサービス

AD 相当の DC

osstech-samba

NT 相当の DC

osstech-smb、osstech-nmb

ファイルサーバー

osstech-smb、osstech-nmbドメインメンバー

osstech-smb、osstech-nmb、osstech-winbind

例えば、osstech-smb と osstech-samba を両方起動させることはできません。

5.2 Samba サービスの制御
smbd、nmbd を起動する場合は、次のコマンドを実行してください。

# service osstech-smb start
Starting /opt/osstech/etc/svscan/smbd: [OK]# service osstech-nmb start
Starting /opt/osstech/etc/svscan/nmbd: [OK]smbd, nmbd を停止する場合は次のコマンドを実行してください。

# service osstech-smb stop
Stopping /opt/osstech/etc/svscan/smbd: [OK]# service osstech-nmb stop
Stopping /opt/osstech/etc/svscan/nmbd: [OK]smbd, nmbd を再起動する場合は次のコマンドを実行してください。

# service osstech-smb restart
Stopping /opt/osstech/etc/svscan/smbd: [OK]Starting /opt/osstech/etc/svscan/smbd: [OK]# service osstech-nmb restart
Stopping /opt/osstech/etc/svscan/nmbd: [OK]© 2022 OSSTech Corporation

10

Starting /opt/osstech/etc/svscan/nmbd: [OK]smbd, nmbd のサービス起動状態を確認する場合には次のコマンドを実行してください。

# service osstech-smb status/opt/osstech/etc/svscan/smbd (pid <プロセス ID>) is running...
# service osstech-nmb status/opt/osstech/etc/svscan/nmbd (pid <プロセス ID>) is running...

5.3 Samba サービスの自動起動・停止の設定
OS のブートとシャットダウンに連動して自動的に各サービスが起動・停止するようにする場合は、次のコマンドを実行してください。

# chkconfig osstech-smb on# chkconfig osstech-nmb on

自動起動・停止を無効にする場合は、次のコマンドを実行してください。

# chkconfig osstech-smb off# chkconfig osstech-nmb off

5.4 オンラインマニュアルの参照
弊社パッケージ付属のオンラインマニュアルは/opt/osstech/share/man 以下にインストールされます。
マニュアルを参照するには、次のコマンドを実行してください。

$ /opt/osstech/bin/osstech-man <コマンド名など>

例えば、Samba の設定ファイル smb.conf(5) のオンラインマニュアルを参照したい場合は、次のコマンドを実行してください。

$ /opt/osstech/bin/osstech-man smb.conf© 2022 OSSTech Corporation

11

6 Samba アップデート時のパラメーターの変更一覧
旧バージョンの Samba アップデートする際に注意が必要なパラメーターについて下記に記します。

6.1 map readonly, store dos attributes, ea support
Samba 4.9.0 以降、「map readonly」、「store dos attributes」、「ea support」パラメーターのデフォルト値がそれぞれ「no」、「yes」、「yes」に変更され、ファイル DOS 属性などがファイル拡張属性 (xattr あるいは EA, ExtendedAttribute) に保存されるようになりました。
従来の Samba のように DOS 属性をファイルのパーミッションにマッピングしたい場合は、smb.conf の[global] もしくは該当共有セクションに次のパラメーターを追加してください。

[global] または [任意のファイル共有セクション]
map readonly = yes
store dos attributes = noea support = no6.2 acl allow execute always
Samba 4.0.0 以降、ファイルの実行権限はファイルに付与されている ACL に従うようになりました。従来のSamba のように ACL に依らずファイル実行権限を常に付与したい場合は、smb.conf の [global] もしくは該当共有セクションに次のパラメーターを追加してください。

[global] または [任意のファイル共有セクション]
acl allow execute always = yes

6.3 client lanman auth、client plaintext auth、lanman authSamba 3.2.0 以降、セキュリティ強化のために LANMAN 認証およびクリアテキストパスワードの利用を禁止するため、「client lanman auth」、「client plaintext auth」、「lanman auth」の各パラメーターのデフォルト値が「no」に変更されました。この結果、古い Windows クライアントからのアクセス時に Samba サーバーでの認証に失敗することがあります。
そのような旧式のクライアントから利用する場合は、smb.conf の [global] セクションに以下の各パラメーターを設定してください。

[global]client lanman auth = yeslanman auth = yes© 2022 OSSTech Corporation12

client plaintext auth = yes

6.4 ntlm authSamba 4.5.0 以降、セキュリティ強化のために NTLMv1 認証の利用を禁止するため、「ntlm auth」のパラメーターのデフォルト値が「ntlmv2-only」に変更されました。この結果、古い Windows クライアントからのアクセス時に Samba サーバーでの認証に失敗することがあります。
そのような旧式のクライアントから利用する場合は、smb.conf の [global] セクションに以下の各パラメーターを設定してください。

[global]ntlm auth = ntlmv1-permitted© 2022 OSSTech Corporation13

7 注意事項
7.1 ほかのファイル共有サービスやローカルアクセスとの共存
Samba で SMB 共有するフォルダ (ディレクトリ) を同時に NFS や AFP の共有として利用したりローカルアクセスする必要がある場合、いくつかの留意点があります。下記を解説を参考に、必要に応じて、 Samba の設定ファイル smb.conf の [global] セクションあるいは任意の共有フォルダ定義セクションの設定変更を実施してください。

7.1.1 便宜ロックの無効化
SMB の便宜ロック機能 (oplocks) は、共有フォルダ内のファイルのデータを SMB クライアントでキャッシュすることを可能にする機能です。同機能をカーネルレベルで支援する仕組みを提供していない Linux 以外のOS では、 Samba 以外のサービスから oplocks のキャッシュを制御することができません。
oplocks のキャッシュによる一時的なファイルデータ不整合が問題となる場合は、 Samba の oplocks を無効にする必要があります。smb.conf の [global] セクションあるいは任意の共有フォルダ定義セクションで以下の設定を行ってください。

[global] または [任意の共有フォルダ定義セクション]
oplocks = nolevel2 oplocks = no

以下の点の留意してください。

• oplocks を無効にすると、SMB クライアントのファイルアクセスのパフォーマンスが低下する可能性があり、Samba サーバーの CPU 負荷とファイル I/O 負荷が上昇する可能性もあります。

• 通常、Linux の場合は oplocks を無効化する必要はありません。

7.2 ショートファイル名生成機能の無効化
現在の Samba は、通常のファイル名 (ロングファイル名) から古いクライアント用 (MS-DOS、Windows 95 など) の 8 + 3 形式のショートファイル名を生成する機能に問題があり、正常に動作しません。この機能を無効にするため、smb.conf の [global] セクションに以下の設定を行なってください。

[global]mangled names = no© 2022 OSSTech Corporation14

8 改版履歴• 2022-07-20 リビジョン 1.10
– 対応 OS の更新• 2021-03-11 リビジョン 1.9– RHEL 8 のパッケージ構成を修正• 2020-04-15 リビジョン 1.8– システム要件のメモリサイズを拡大• 2019-06-28 リビジョン 1.7– AIX の記述を削除• 2016-08-05 リビジョン 1.6– パッケージアップデート時のメッセージについて追記• 2016-10-11 リビジョン 1.5– 起動させるサービスの選択を追記• 2016-08-05 リビジョン 1.4– /etc/nsswitch.conf の記述修正• 2016-05-18 リビジョン 1.3– パッケージ内容を更新• 2015-09-14 リビジョン 1.2– パッケージ内容を更新• 2015-07-16 リビジョン 1.1– パッケージ内容を更新• 2014-11-28 リビジョン 1.0– 初版© 2022 OSSTech Corporation15