変更履歴
- Rev. 0.7 : 2026年05月04日
- 新規作成
1 はじめに
本記事は、RHEL 10におけるSAMBAサーバーの設定について、備忘録としてまとめたもの
です。
OSの入れ換えの度に、SAMBAサーバーを再度設定するわけですが、
今まで参考にしていたページが無くなってしまっていたりします。
ですので、このメモを残しておくことにしました。
2 SAMBAのインストール
2.1 インストール
2.1.1 インストール状況の確認
SAMBAは、RHELでは通常インストール済みです。
次のコマンドでインストール状況を確認できます。
2.1.2 インストール
新バージョンに更新する、あるいはSAMBAクライアントとともに再インストールする場合は、
次のコマンドで行います。
# dnf install samba samba-client samba-common
2.2 SAMBAサービス
SAMBAは、以下のサービスを提供します。
- smbd
-
SMBプロトコルを使用して、ファイル共有およびプリントサービスを提供します。
また、サービスは、リソースのロックと、接続ユーザーの認証を担当します。 - nmbd
-
NetBIOS over IPv4プロトコルを使用して、ホスト名およびIP解決を提供します。
名前解決に加え、nmbdサービスでSMBネットワークを参照して、ドメイン、
作業グループ、ホスト、ファイル共有、およびプリンターを探すことができます。
これらのSAMBAサービスは、下に示すよう起動し、
システム起動時に自動的に開始するようにします。
# systemctl start smb
# systemctl start nmb
# systemctl enable smb
# systemctl enable nmb
2.3 ファイアウォール
ファイアウォールで、下に示すようにSAMBAのポートを開放します。
# firewall-cmd –permanent –add-service=samba
# firewall-cmd –reload
3 設定
SAMBAの設定ファイル(“smb.conf”)は、下に示すパスにあります。
このファイルを編集して共有設定を行います。
/etc/samba/smb.conf
なお、本章では“SAMBA”は、流れの都合上“Samba”と記すことを予めお断りしておきます。
3.1 “smb.conf”で使われるプレースホルダー(placeholder: 変数)
設定ファイルsmb.confのパラメータ記述には、パラメータの一部として使われる
表3.1-1に示すようなプレースホルダー(変数)があります。
これらは、特定の情報を動的に取得するために使用されます。
3.2 セクション
smb.confでは、主に以下4つのセクションに分けることができます。
・ globalセクション([global])
・ printersセクション([printers])
・ homesセクション([homes]))
・ 個別の共有セクション([共有名])
3.2.1 globalセクション([global])
globalセクションに行う設定は、smb.confに記載されているファイル共有全体に対して動作します。
ファイル共有セクションに設定した内容は、設定したファイル共有のみに適用されます。
globalセクションには、表3.2-1に示すような項目を設定します。
3.2.2 printersセクション([printers])
Sambaサーバ-をネットワークプリンタ-として使用するための設定です。
最近では、ネットワーク対応のプリンターが多く出回っています。
現在(2026年05月)の環境では、Sambaプリンターの必要性はあまり高いものではないと
思っています。
ですので、本記事では詳しい説明は割愛します。
3.2.3 homesセクション([homes])
ユーザーのホームディレクトリに関する共有設定です。
RHEL 10に登録されたユーザーは、自身のホームディレクトリ(“/home/<ユーザー名>”)に、
ファイルサーバとして(エクスプローラを介して)アクセスできるようになります。
homesセクションには、表3.2-2に示すような項目を設定します。
3.2.4 個別の共有セクション([共有名])
指定した共有フォルダへアクセスさせたい場合の設定です。
こちらはユーザー名に限らず、
指定した共有フォルダーに同じようにアクセスできるようになります。
個別の共有セクションには、表3.2-3に示すような項目を設定します。
3.2.5 browseable項目について
ネットワークコンピュータ上に、
「ファイルサーバーの指定のフォルダー」を表示させるための項目です。
この項目を“yes”に指定すると、エクスプローラからファイルサーバーにアクセスした際に、
指定のフォルダーが表示されます。
homesセクション( [homes])の場合
「browseable = yes」を設定すると、「/home/<ユーザー名>」に加え、
「homes(ユーザーのホームディレクトリと同じ内容)」が表示されます。
共有セクション(例:[Share])の場合
「browseable = yes」を設定すると、
「/home/<セクション名>(/home/Share)」フォルダーが表示されます。
3.2.6 “smb.conf”の記述例
下に、smb.confの記述例を示します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
[global] server string = SAMBA SERVER workgroup = WORKGROUP security = user passdb backend = tdbsam unix charset = UTF-8 hosts allow = 192.168.1. # printing = cups # printcap name = cups load printers = no disable spoolss = yes # cups options = raw log level = 2 log file = /var/log/samba/log.%m max log size = 1024 [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [Share] comment = Share Folder for All Users path = /home/share browsable = yes read only = no # WWW Documents [www] comment = WWW Documents path = /home/www browsable = yes read only = no valid users = webmaster |
【備考: [WWW]】
サブネット内にWebサーバーがある場合のWebサーバーのドキュメントルート。
FTPよりも、SAMBAでのアクセスの方が簡単。
3.3 IPアドレスでのアクセス制御
アクセス元のIPアドレスで、アクセスを制御することができます。
いろんなアクセスパターンがあるかと思いますが、本節では代表的なパターンのみを
示すことにします。
3.3.1 サブネット単位でのアクセス許可
サブネット単位でアクセス許可を行う場合は、
下に示すように“hosts allow”パラメータで設定します。
パラメータ・キーワードに続いて、接続を許可するIPアドレスを指定します。
例えば、サブネット“192.168.1.0/24”からの接続を許可する場合には、
下に示すよに4オクテット目を設定しない形で指定します。
hosts allow = 192.168.1.
3.3.2 特定のIPアドレスのみ接続を拒否する場合
特定のIPアドレスのみファイル共有への接続を拒否する場合には、
“hosts deny”パラメータを利用します。
例えば、IPアドレス“192.168.1.100”と“192.168.1.101”について
ファイル共有へのアクセスを拒否する場合には、次のように設定します。
[Share]
comment = Share Folder for All Users
path = /home/share
browsable = yes
read only = no
hosts deny = 192.168.1.100 192.168.1.101
3.3.3 許可したサブネットから、特定のIPアドレスを拒否する
接続を許可したサブネットから特定のIPアドレスだけを拒否したい場合は、
特定のIPアドレスを除外するためのオプション“EXCEPT”で指定します。
例えば、”192.168.20.99“を除いた”192.168.20.0/24“からの接続を許可する場合には、
“hosts allow”パラメータに以下のように設定します。
[Share]
comment = Share Folder for All Users
path = /home/share
browsable = yes
read only = no
hosts allow = 192.168.20. EXCEPT 192.168.20.99
3.4 ユーザーでのアクセス制御
ファイル共有へのアクセス制御をユーザーとグループで行うには、次のパラメータを利用します。
3.4.1 valid usersパラメータ
“valid users”パラメータは、ファイル共有への接続を許可するユーザーを指定するパラメータです。
例えば、“user01”と“user02”ユーザーのみShareファイル共有へ接続を許可する場合には、
valid usersを次のように指定します。
[Share]
comment = Share Folder for All Users
path = /home/share
browsable = yes
read only = no
valid users = user01 user02
3.4.2 invalid users パラメータ
特定のユーザーのみファイル共有へのアクセスを拒否する場合には、
“invalid users”パラメータを利用します。
例えば、“user03”ユーザーのみアクセスを拒否したい場合には、次のように設定します。
[Share]
comment = Share Folder for All Users
path = /home/share
browsable = yes
read only = no
invalid users = user03
3.4.3 ファイル共有へのグループによるアクセス制御
ファイル共有のアクセス制御には、グループを指定することもできます。
グループを指定する場合には、グループ名の前に“@”か“+“を付けます。
例えば、”group01“グループのみアクセスを許可したい場合には、次のように設定します。
[Share]
comment = Share Folder for All Users
path = /home/share
browsable = yes
read only = no
valid users = @group01
4 Sambaユーザーの追加とパスワード設定
SAMBAを利用するユーザーは、“useradd”コマンドで追加します。
ユーザーのSAMBA接続用のパスワードは、“pdbedit”コマンドで設定します。
# useradd <user>
# passwd <user>
# pdbedit -a -t -u <user>
ホームディレクトリ無し、ログイン無しのSAMBAを利用するユーザーは、
次のようにユーザーを作成します。
# useradd -M -s /sbin/nologin <user>
“useradd”コマンドの詳しい書式やオプションなどについては、次のページでご確認ください。
【 useradd 】コマンド――新規ユーザーを作成する | itmedia
“pdbedit”コマンドの詳しい書式やオプションなどについては、次のページでご確認ください。
pdbedit — SAM データベース (Samba ユーザーのデータベース) を管理する
5 Windowsからの接続
SAMBAサーバー上の共有にWindowsからアクセスするには、
コンピュータまたはWindowsエクスプローラーを開きます。
下に示す書式のSAMBAサーバーのホスト名および共有名、
または“¥¥192.168.1.12”のように“¥¥”から始まるIPアドレスを
エクスプローラー・アドレスバーに入力します。
¥¥server_name¥share_name
“¥¥server_name”を入力すると、
Windowsにサーバーが共有しているディレクトリおよびプリンターが表示されます。
共有ディレクトリを選択すると、SAMBAで設定したユーザー名とパスワードの入力が求められます。
入力が完了すると、SAMBAサーバーへの接続が完了します。
以上
本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。
少しでも役に立てていただければ、うれしく思います。
このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元と著者名は明らかにしてください。
なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

コメント