😊

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

に公開

こんにちは、HESの川添です。

先日、Sambaのことについて先輩社員から「お前、ちゃんと理解してるのか?」と突っ込まれたとき、正直なんとなくしか説明できなかった自分がいました。そして、色々と突っ込まれたときに間違って理解していたことも多々あり、先輩からも「一から学びなおせ!」と喝をいただきましたので今回改めてSambaについて基礎から見直してみました。

Sambaとは何か?

一言で言うと、Sambaとは、Linux上でWindowsのファイル共有やプリンタ共有などのネットワーク機能を実現するためのソフトウェアです。
参考記事:https://atmarkit.itmedia.co.jp/ait/articles/1612/01/news183.html

Windowsでは、ネットワーク上の共有フォルダにアクセスする際にSMB(Server Message Block)という通信プロトコルを利用しています。SambaはこのSMBプロトコルをLinuxで再現するソフトウェアであり、LinuxがWindowsとファイル共有などを行えるようにするための重要な役割を担っていることがわかりました。
参考記事:https://www.sompocybersecurity.com/column/glossary/smb?utm_source=chatgpt.com

SMBとは何か?

SMB(Server Message Block)は、Windowsで使用される通信プロトコルです。これは、ファイル共有やプリンタ共有など、ネットワーク上でリソースをやり取りする際に使われます。
簡単に言えば、SMBは「ネットワーク経由でファイルを見る・保存する・削除する」といった動作を行うための通信のルールです。Sambaは、このSMBに対応しているからこそ、Windowsとスムーズにやり取りができるのです。
参考記事:https://e-words.jp/w/SMB.html

実は最初、SambaはLinuxとWindowsの間をつなぐ"という表現だけを見て、「そうなんだ」くらいで流してしまっていたのですが、調べていくうちに、Windowsで当たり前のように使っていたネットワーク越しのファイル共有が、Linuxでは別途ソフトウェアが必要で、その役割を果たしているのがSambaだということがわかり、一気にイメージが湧きました。

Sambaでできること

-Linux上のフォルダをWindowsからアクセス可能にする(ファイルサーバー機能)
-LinuxからWindowsの共有フォルダにアクセスする(クライアント機能)
-ネットワークプリンタを共有する(プリントサーバー機能)
参考:https://words.af-e.net/what-is-samba/

調べていくと、 WindowsからLinuxのフォルダにアクセスするのは実際に手を動かしたので、できるのは知っていましたが、LinuxからWindowsのフォルダにアクセスすることができ、双方向の共有もできるんだなと知りました。

SambaとLinuxの関係性

「SambaはLinux上で動く」とはどういうことか、という点も改めて理解する必要がありました。
Sambaは、LinuxというOS上に後からインストールして使うアプリケーションです。つまり、Linuxの標準機能ではSMB通信はできません。Sambaをインストールすることで、初めてLinuxがWindowsと“同じ言語(SMB)で通信できるようになります。

参考記事:https://www.redhat.com/en/blog/samba-file-sharing
この関係性を簡単に言うと:
Linux:OS本体
Samba:Windowsとの共有を実現する通訳のようなソフトウェア

最初にLinux上で動くという表現を見たときは、単にLinuxに対応してるソフトなのかな"くらいにしか捉えていませんでした。でも実際には、Linuxという舞台にSambaというプレイヤーが乗って、Windowsと会話してくれる役を担ってくれているんだなと理解しました。
認識間違っていたら、ご指摘いただけると嬉しいです。

まとめ

今回、改めてSambaとは何かを整理しました。先輩社員からの指摘がなかったら、なんとなくでわかったつもりや間違った理解で進めておりました。
ちゃんと理解するにはたくさん調べないといけないですが、その作業をめんどくさがらずにする必要があると改めて感じました。
また、Sambaは単なるファイル共有ソフトに見えて、実はWindowsとLinuxの橋渡しをしてくれる非常に重要な存在でありことが今になってわかりました。
次回は、実際の設定ファイル(smb.conf)の例やアクセス権限・コマンドのところもしっかりと調べ直したいと思います。

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

Discussion