サーバ構築まで(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に指紋認証で入れるのかどうかはテストして次回の記事で書きたいと思います。
Discussion