はじめに

家庭内LANに置いたUbuntu(Linuxサーバ)の特定ディレクトリを、Windowsのエクスプローラーから \\IPaddr\share の形式で開いて読み書きできるようにします

想定している構成は以下です

  • Ubuntu(サーバ)IP: 192.168.2.94(固定)
  • Windows(クライアント)IP: 192.168.2.95(固定)
  • 共有したいディレクトリ: /home/relion911

Samba共有の構成図

なぜ Samba(SMB)なのか

WindowsからLinuxのファイルを扱う方法はいくつかありますが、今回はSamba(SMB)を選びました

Sambaのメリット

  • Windowsが標準で対応していて、追加ソフト不要
  • エクスプローラーから普段のフォルダと同じ感覚で扱える
  • 家庭内LANの範囲なら導入と運用がシンプル

SFTPマウントも選択肢ですが、Windows側に追加ツールが必要だったり、操作感が重く感じることがありました 「Windowsのエクスプローラーで普通に開ければ十分」という用途ならSambaが最短です

導入手順(Ubuntu側)

1) Sambaをインストール

sudo apt update
sudo apt install -y samba

2) 共有するディレクトリを決める

今回はホームディレクトリを共有します

  • 共有対象: /home/relion911

別ディレクトリを共有する場合は、後述の path を変更するだけです

3) Sambaユーザーを作成

Linuxユーザーに紐づけてSamba用のパスワードを設定します

sudo smbpasswd -a relion911
sudo smbpasswd -e relion911

Ubuntuのログインパスワードと同じでも別でもOKです

4) 共有設定(/etc/samba/smb.conf)

バックアップを取ってから編集します

sudo cp -a /etc/samba/smb.conf /etc/samba/smb.conf.bak.$(date +%F_%H%M%S)
sudoedit /etc/samba/smb.conf

末尾に追記します(共有名は share の例

[share]
   path = /home/relion911
   browseable = yes
   read only = no
   guest ok = no
   valid users = relion911
   create mask = 0660
   directory mask = 2770

(任意)所有者のブレを抑える

Windowsから作成したファイルの所有者が揃わず困る場合は追加します

   force user = relion911
   force group = relion911

5) 設定チェック → Samba再起動

sudo testparm
sudo systemctl restart smbd nmbd
sudo systemctl enable --now smbd nmbd

6) UFWで接続元をWindowsだけに絞る(推奨)

家庭内でも共有を開きっぱなしにするなら、アクセス元を絞るのが安全です

sudo ufw allow from 192.168.2.95 to any app Samba
sudo ufw status

以前に sudo ufw allow samba のように広く許可していた場合は、sudo ufw status numbered で確認して不要ルールを削除します

Windows側の使い方(エクスプローラー)

1) 共有を開く

エクスプローラーのアドレスバーに入力します

  • \\192.168.2.94\share

資格情報を求められたら、以下でログインします

  • ユーザー名: relion911
  • パスワード: smbpasswd で設定したもの

WindowsエクスプローラーからSamba共有へアクセス

2) ネットワークドライブに割り当て(便利)

エクスプローラー → 「PC」 → 「ネットワークドライブの割り当て」

  • ドライブ例: Z:
  • フォルダ: \\192.168.2.94\share

動作確認(Ubuntu側)

共有設定が効いているか

testparm -sv | sed -n '/\[share\]/,/^\[/{p}'

read only = No ならWindowsからの編集・上書きが反映されます

SMBポートが待ち受けているか

sudo ss -lntp | egrep ':(445|139)\b' || echo "SMB not listening"

よくあるハマりどころ

1) ドットファイルが見えない

Windows側で「隠しファイルを表示」がOFFだと .ssh などが見えません エクスプローラーの「表示」メニューから隠しファイルをONにします

Samba側で隠している場合は hide dot files などの設定が影響していることがあります

2) .ssh 配下の編集は注意

SSHは権限に厳しいため、Windows側の編集でパーミッションが変わるとログインできなくなることがあります .ssh 配下はUbuntu側で編集する運用が安全です

3) セキュリティ

Samba共有は便利な反面、開放範囲が広いとリスクが上がります

  • UFWで特定IPだけ許可
  • インターネットへ直接公開しない
  • 必要ならVPN経由でアクセス

まとめ

  • WindowsエクスプローラーからLinuxのディレクトリを扱うなら、Samba(SMB)が最短で導入できる
  • Ubuntu側で共有設定を入れ、Windows側は \\IPaddr\share でアクセスする
  • UFWで接続元を絞ると家庭内運用でも安全性が上がる