💬

サーバ構築まで(part.10)

に公開

こんにちは、HESの川添です。
前回の記事ではSambaの設定を行い、最後のエクスプローラで確認するというところでうまくいかないというところまで書いていたと思います。
うまくいかないところを嘆いていたところ、他の先輩社員が同じ手順でやったらできたということを聞いてその手順方法を確認させてもらうと自分のやり方がなぜうまくいかないか理解できましたのでどの部分を修正したらできたのか共有したいと思います。

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

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

1.共有ファイルを置くフォルダの作成(完了)
2.Sambaを使用するユーザーの作成(完了)
3.Samba全体や、個々の共有フォルダの設定(完了)
4.エクスプローラーで確認(苦戦中)
*4.エクスプローラーで確認のところで詰まっておりました。

修正したところを再度確認

IPアドレスを入力していた際に下記のように「ネットワーク資格情報の入力」が求められていました。
その際に指紋認証(samba側で登録・許可していないWindowsアカウントの情報)で入ろうとしていたため入れなかったのかなと思いました。
samba側に指紋認証と紐づいているWindowsアカウント情報を登録・権限付与した場合、今後sambaに指紋認証で入れるのかどうかはテストして次回の記事で書きたいと思います。
(

ここで「別のアカウントを作成」を選択してownerの情報を入力。

すると念願の作成したownerとPublicのファイルがついに確認でき、エクスプローラでの確認を
することができました!!!

ownerファイルに適当なファイルを置いてみると。。

こちらもしっかりと中身も確認することができました。

Publicフォルダにアクセスできない原因と対応

同じくPublicファイルも確認しようとすると。。
「このネットワークを使用する許可がない可能性」があると出ました。


恐らくパーミッションやグループ設定に問題があるのではと思ったのでPublicの権限などを書いたconfigファイルの確認と下記コマンドで指定したディレクトリの情報(権限や所有者など)を確認しました。

config確認結果

configの確認結果を分解すると:

設定項目 内容・意味
path = /srv/samba/public 実際に共有するフォルダの場所。Linux上の /srv/samba/public を共有する
writeable = yes クライアントからこの共有に対してファイルの書き込みを許可する
create mask = 0664 ファイル作成時の最大パーミッション:
所有者・グループは読み書き可、その他ユーザーは読み取りのみ
directory mask = 0775 ディレクトリ作成時の最大パーミッション:
所有者・グループは読み書き実行可、その他は読み・実行のみ
force user = samba アクセスするクライアントが誰であっても、Samba側ではすべて samba ユーザーとして扱う
force group = samba 同様に、アクセスした人はすべて samba グループのメンバーとして処理される
guest ok = yes 認証なしでのアクセス(ゲストアクセス)を許可する
guest only = yes ゲストユーザーのみがアクセス可能(ユーザー認証された人はアクセス不可)

コマンドの意味を分解すると:

部分 意味
ls ファイルやディレクトリを一覧表示するコマンド
-l 「ロング形式(long format)」で表示 → 権限や所有者、サイズなどが見れる
-d 「ディレクトリ自体の情報」を表示する(中身のファイルは表示しない)
/srv/samba/public 対象となるディレクトリのパス

実行結果

部分 説明
drwxrwxr-x パーミッション(d = ディレクトリ)
2 ハードリンクの数(今回は 2)
samba 所有ユーザー名
nogroup 所有グループ名(=グループ未設定)
4096 サイズ(バイト)
3月 31 15:16 最終更新日時
/srv/samba/public パス名

仮説

force group = samba にしてるのに、Linuxに samba グループが存在していない → 強制しようにも失敗
さらにフォルダの所有グループも nogroup → 実際のアクセス権もズレてる
→ だから samba グループを作成して、所有グループも合わせればうまくいくのでは?

1.samba グループを作成

2. publicフォルダの所有グループをsambaに変更

3.Sambaの再起動

再挑戦!

上記の対応を行った後、再度エクスプローラーからアクセスすると……
ついにPublicフォルダもアクセス成功!
無事、中身まで表示されました!!

おわりに

ついに下記手順書を参考にしたSambaのインストールからエクスプローラーでの確認までに
及ぶ、サーバ構築まで(part.10)で一旦完結しました。
参考記事:https://pc.watch.impress.co.jp/docs/column/ubuntu/1501933.html
Sambaの設定はうまくいっていると思っていても、Linuxのユーザー・グループ設定が少しでもズレていると、思わぬ落とし穴にはまることがわかりました。
samba側に、指紋認証と紐づいているWindowsアカウント情報を登録・権限付与した場合、今後sambaに指紋認証で入れるのかどうかはテストして次回の記事で書きたいと思います。

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

Discussion