思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【FreeBSD13.4】samba4のインストールと初期設定

NISユーザーをActiveDirectoryドメインコントローラー(AD-DC)に登録するために、sambaサーバーをドメインメンバーサーバーとして登録するための準備をします。

拙宅では、ファイルサーバー類は基本的に、FreeBSDに任せているので、FreeBSDにsambaをインストールします。【注*1

とりあえず、各種検証/確認を兼ねて、VirutalBox専用機[*2]上のFreeBSD仮想マシンのクローンを作って、作業しようと思います。

1, samba4のインストール

1)パッケージの確認
root@freebsd:# pkg search samba ;

 

FreeBSD13.4(*3)用のsamba4で最も新しいものは「samba420-4.20.7_7」なので、これをインストールすることにします。

ちなみに、FreeBSD13.5であれば、samba4.22が使えます。

2)インストール

 

root@freebsd:# pkg install samba420 ; samba4.20.7をインストール。

 

2, samba4の設定と起動

1)rc.confの設定変更
root@freebsd:# vi /etc/rc.conf    

下記の黄色字部分を追記します。

修正前

  

修正後

[..]

nis_client_enable="YES"
#nis_client_enable="YES"
#
amd_enable="YES"

  

[..]

nis_client_enable="YES"
#nis_client_enable="YES"
#
amd_enable="YES"

samba_server_enable="YES"

 

 

root@freebsd:# reboot ; 再起動
2)/usr/local/etc/smb4.confの作成
root@freebsd:# /usr/local/etc/ ;
root@freebsd:# vi smb4.conf ;

いきなり、認証をAD-DCに依存したドメインメンバーサーバーにしようとすると(小生は)混乱するので😅、
とりあえず、Workgroupサーバーとしての設定をして、samba4の動作確認をすることにします😅。

下記の内容で、”smb4.conf”を作成します。

# Global parameters
[global]
        dos charset = CP932
        unix charset = EUC-JP
        workgroup = my-ad  
        netbios name = freebsd
        server string = %L : Samba4 server %v
        security = user 
        preferred master = no
        wins support = no
 
        map to guest = Bad User 
        guest account = nobody 
         load printers = no
         follow symlinks = yes

[homes]
        comment = Home Directories
        browseable = no 
        writable = yes 
        valid users = %S 



#Windows側のキャラクターセットをCP932
# FreeBSDの日本語文字コードははEUCなので、EUC-JP
#参加するワークグループ名
# NetBIOS名

# 認証方式。とりあえず、ローカル認証にしておく
# 明示的にマスタブラウザになる事を抑止する
# 明示的にWINS サーバーして機能する事を抑止する
#  不正なユーザをゲストとして扱う
# ゲストアカウントのUnix上のアカウントを設定。
# プリンタ共有を無効化
#シンボリックリンクのを追跡処理を有効化(注*4


# ホームディレクトリはブラウズしない。
# 書き込みを許可する
# ユーザー以外のアクセスを不許可

この設定には、あえて、明示的にパラメーターを設定しているものがあります。

  • ” preferred master = no
    Windowsネットワークにおいて、ネットワーク上のコンピュータ一覧(エクスプローラーの”ネットワーク”で表示される機器)はマスターブラウザがリストを管理してます。

    "同じサブネット上に優先マスターブラウザーに指定されたホスト(Samba サーバー、Windows 95/NT のいずれの場合も)が複数台存在すると、 それらのホストは定期的にローカルマスターブラウザーになろうとする 試みを永続的に繰り返すことになる。"[引用元*5](*6


    ドメインコントローラー(DC)が常時稼働していれば、通常、マスターブラウザはDCが担ってくれているはずですが、何らかの理由でDCが止まっていると、Windowsパソコン間で、”マスターブラウザの地位獲得選”が始まります。(*7*8
    この不毛な争いにsambaが参加しないように明示的にマスターブラウザになることが無いよう設定しています。

  •  ”wins support = no
    sambaのデフォルトは”no”なので、本来、明示する必要はありませんが、
    小生はWindowsネットワークの不具合時に、問題点切り分けの一助となるようにsmb.confに”明示する”習慣になっているだけです😅。

4, samba4の起動と確認

1)samba4の起動
root@freebsd:# service samba_server start ;
2)確認

Windowsパソコンから設定したサーバーが見えていれば、samba4は動作しています。

または、コンソール/Telnet端末で、”/usr/local/bin/smbclient”コマンドで確認します。

ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへ

出典・引用・備考

*1:この投稿の内容は、特定の機種並びに特定の環境での確認結果になります。
同等機種や異なる環境での動作他を保証するものではありませんので、ご留意いただけます様お願いいたします。

*2:

*3:ファイルサーバー類のメンテを始めた時、FreeBSD13.5はリリースされていなかったので、13.4を使っています😅。
マイナー番号が”.5”になったのは、5.5Release以来なので、13.5が出るとは思っていませんでした😅。。。

*4:クラッカーが何らかの方法で、システム領域などにシンボリックリンクを張った場合、重大なセキュリティリスクになりえます
このため、このパラメータを”yes”にする場合、十分な注意が必要です。

*5:"smb.conf"、日本Sambaユーザ会、

https://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html、最終閲覧日:2025年7月30日

*6:この優先順位を意図的に変更する場合、
sambaの場合、GLOBALパラメータの”os level”、
Windowsの場合、レジストリHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters\MaintainServerList
を修正する必要があります。

*7:昔、”Sun4”/”NEC PC9801+FreeBSD+samba”/”Win3.1+LAN Manager”な環境でファイル共有しているネットワーク上(PC50台ぐらい繋がった10BaseT環境)に、
Windows95が増えた際、マスターブラウザ機能でネットワークが混乱し、原因究明に時間を要しました😑。
WindowsNT3.51Serverを導入して、何とか混乱を終息させることが出来ましたが😅。。。
情報収集も時間と手間のかかる時代でしたので😅。。。

*8:Windowsパソコンしかない環境では、最初に起動したパソコンをシャットダウンした後、他のパソコンで、ネットワーク上の機器が見えたり見えなかったりするときは、”マスターブラウザの地位獲得選”後に、マスターブラウザがリスト取得が完了していない場合に起こりえます。