サーバ構築まで(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のエクスプローラーから共有フォルダへアクセスできるかやってみたいと思います。
参考資料
今回のブログ記事作成にあたり、以下の資料を参考にしました:
Discussion