【RHEL 10: Samba】RHEL 10におけるSAMBAの設定

Samba / CIFS

変更履歴

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の記述例を示します。

【備考: [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 ユーザーでのアクセス制御

ファイル共有へのアクセス制御をユーザーとグループで行うには、次のパラメータを利用します。

valid users 接続を許可するユーザーやグループを指定する
invalid users 接続を拒否するユーザーやグループを指定する

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ファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

お問い合わせ

 

コメント

Add A Knowledge Base Question !

You will receive an email when your question will be answered.

+ = Verify Human or Spambot ?

タイトルとURLをコピーしました