😺

サーバ構築まで(Part.8)

に公開

こんにちは、HESの川添です。
今回も前回に続き、Sambaの設定について学んでいきます!
前回は「Sambaユーザーの作成」までを行いましたが、今回はいよいよSambaの本体とも言える設定ファイルsmb.confの編集に挑戦します。
設定を理解しながら進めていきますので、私のようなSamba初心者の方にも参考になれば嬉しいです!

Sambaインストール手順のおさらい

参考にしたのは以下の記事です:https://pc.watch.impress.co.jp/docs/column/ubuntu/1501933.html
この参考記事に書かれていた4つの手順を順番に進めています。

1.共有ファイルを置くフォルダの作成(前々回完了)
2.Sambaを使用するユーザーの作成(前回完了)
3.Samba全体や、個々の共有フォルダの設定(今回実施)
4.エクスプローラーで確認(次回実施予定)

Samba設定ファイルsmb.confとは?

参考記事には、Sambaの設定は「原則 /etc/samba/smb.conf に書く」とありました。
「そんなファイル作った覚えないけど…?」と思いつつ、調べてみたところ…

/etc/samba/smb.conf の特徴

  • Sambaをインストールすると自動で生成される
  • Sambaの全体設定・共有フォルダ設定を記述するファイル
  • Sambaはこのファイルを読み込んで、共有フォルダやアクセス制御を決定する
    つまり、Sambaを使うならこのファイルの編集が必須だということが分かりました。

参考:1) “Samba サーバータイプと smb.conf ファイル”https://docs.redhat.com/ja/documentation/red_hat_enterprise_linux/5/html/deployment_guide/s1-samba-servers?utm_source=chatgpt.com#s1-samba-servers , (参照2025-04-15)

smb.conf に追記する設定とその意味

参考記事では、以下のような設定をsmb.confに追記する例が紹介されていました。
それぞれの意味を自分なりに調べて分解してみました

[global]
   guest account = samba

[Public]
   writeable = yes
   path = /srv/samba/public
   create mask = 0664
   directory mask = 0775
   force user = samba
   force group = samba
   guest ok = yes
   guest only = yes

[ikuya]
   writeable = yes
   path = /srv/samba/ikuya
   create mask = 0664
   directory mask = 0775
   force user = ikuya
   force group = ikuya

※ [ikuya] はこの記事の方のユーザー名なので、自分の場合はここが「owner」になります。

各セクションの解説

globalセクション

[global]
   guest account = samba
  • Sambaにゲストとしてアクセスする際に使うLinuxユーザーを「samba」に設定。

Publicセクション(全員アクセス可能な公開フォルダ)

[Public]
   writeable = yes
   path = /srv/samba/public
   create mask = 0664
   directory mask = 0775
   force user = samba
   force group = samba
   guest ok = yes
   guest only = yes
  • [public]
    Windows側からアクセスする際の共有名
  • writeable=yes
    共有フォルダへの書き込みを許可
  • path= /srv/samba/public
    実際に共有されるLinux上のフォルダの場所
  • creat mask=0664
    0664これを見た時に前の下記記事で調べた権限のことを表しているのはわかりました。
    ただ、「mask」とは何を意味するのかわからなかったので調べた結果は以下になります。
    ここで使われているmaskは制限をかけるフィルターみたいなもの
    つまり、作成されるファイルのパーミッションを制限するルールになります。
    0=なし、4=読み、2=書、1=実行なので 自分と同じグループの人は読み書きできますが、それ以外の人は読み取り専用になります。
    https://zenn.dev/he_service/articles/2b1804381de2dc
  • directory mask = 0775
    フォルダ内で新しく作られるフォルダ(ディレクトリ)の権限を決める設定です。
    自分と同じグループの人はそのフォルダにアクセスして編集できるが、それ以外の人は中を見るだけになります。
  • force user / force group = samba
    ファイル所有者を"sambaユーザー・グループに統一
  • guest ok = yes
    ゲストアクセスを許可
  • guest only = yes
    必ずゲストとしてアクセスさせる

参考:2) “Samba”https://www.samba.org/samba/docs/4.17/man-html/smb.conf.5.html , (参照2025-04-15)

ikuyaセクションについて(ユーザー専用フォルダ)

※ [ikuya] はこの記事の方のユーザー名なので、ここは自分のユーザー名「owner」に変更する必要があります。

[ikuya]
   writeable = yes
   path = /srv/samba/ikuya
   create mask = 0664
   directory mask = 0775
   force user = ikuya
   force group = ikuya
  • force user / force group = ikuya
    アクセス時の操作は全てユーザーで行うように統一。
    ※ [ikuya] はこの記事の方のユーザー名なので、自分の場合はここが「owner」になります。
    参考:3) “Samba”https://www.samba.org/samba/docs/4.17/man-html/smb.conf.5.html , (参照2025-04-15)

まとめ

今回の作業によりSambaの設定についてなんとなく理解はできました。
あと、公式の資料を読むのは読み慣れてないから時間もかかるし、すごく大変だけど、とても大切な作業だと思いました。
次回はWindowsのエクスプローラーから共有フォルダへアクセスできるかやってみたいと思います。

参考資料

今回のブログ記事作成にあたり、以下の資料を参考にしました:

HESI :技術や日々のお仕事などを紹介します

Discussion