手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 Samba の基本設定 – smb.conf と認証付きファイル共有を管理する

Ubuntu 26.04 ファイル共有関連の記事

Ubuntu 26.04 で Windows や macOS からファイル共有を使う場合、Samba は扱いやすい選択肢です。ただし、Samba は directory を公開するだけの機能ではなく、Linux user、Samba user、share 定義、filesystem 権限、firewall、client 側の接続方式が関係します。

この記事では、Samba を standalone server として構成し、/etc/samba/smb.conftestparm で検証してから smbd.service に反映します。guest 共有を広く開けるのではなく、認証付きの home directory 共有を中心にします。

この記事で扱うこと
  • standalone server として Samba を構成する
  • /etc/samba/smb.conf を作成して testparm で確認する
  • Linux user と Samba password の関係を確認する
  • SMB の待ち受け、firewall、client 接続を確認する

Samba で決めること

Samba server を構成する前に、どの client に、どの share を、どの user で使わせるのかを決めます。smb.conf が構文として正しくても、権限設計が曖昧なままだと運用で詰まりやすくなります。

観点確認すること
server rolestandalone server として使うのか、AD 連携するのか
sharehome directory か、専用共有 directory か
認証Linux user と Samba password をどう管理するか
権限Linux filesystem の permission と share option をどう合わせるか
protocolTCP 445 の SMB を中心にするか、NetBIOS も使うか
clientWindows、macOS、Linux からどう接続するか

ここでは AD domain controller ではなく、standalone server として扱います。家庭内、検証環境、内部管理用のファイル共有では、この形の方が境界を追いやすくなります。

Samba をインストールする

samba package をインストールし、smbd.service を有効化します。

sudo apt update
sudo apt install -y samba
sudo systemctl enable --now smbd.service
systemctl status smbd.service --no-pager

ファイル共有の中心は smbd.service です。NetBIOS name service に依存しない構成では、client 側から server 名または IP address を指定して接続する方が確認しやすくなります。

smb.conf を作成する

/etc/samba/smb.conf に standalone server と home directory share の設定を書きます。構文確認で止められるように、反映前に testparm -s を実行します。

sudo tee /etc/samba/smb.conf >/dev/null <<'EOF'
[global]
  server role = standalone server
  workgroup = WORKGROUP
  security = user
  map to guest = never
  disable netbios = yes
  smb ports = 445
  server min protocol = SMB2_10
  log file = /var/log/samba/log.%m
  max log size = 1000
  logging = file
  panic action = /usr/share/samba/panic-action %d
[homes]
  comment = Home Directories
  browseable = no
  read only = no
  create mask = 0600
  directory mask = 0700
  valid users = %S
EOF
sudo testparm -s /etc/samba/smb.conf

[homes] は、ログインした user の home directory を共有として見せる設定です。専用の共有 directory を使う場合は、[share] のような独立した section を作り、pathvalid usersread only を明示します。

Samba user を登録する

Samba の認証では、Linux user と Samba password の両方を意識します。smbpasswd -a で Samba password を登録する user は、Linux 側にも存在している必要があります。

sudo adduser smbuser
sudo smbpasswd -a smbuser
sudo smbpasswd -e smbuser
sudo pdbedit -L

smbpasswd -a は対話的に password を入力します。Linux login password と Samba password を同じにするかどうかは運用方針次第ですが、どちらの資格情報をどこで使うのかは混ぜずに管理します。

設定を反映する

testparm が通ったら smbd.service を再起動します。設定を変更した後は、service 状態だけでなく、待ち受け port とログも確認します。

sudo systemctl restart smbd.service
systemctl status smbd.service --no-pager
ss -ltnp | grep ':445'
journalctl -u smbd.service -n 100 --no-pager

Firewall を確認する

SMB を TCP 445 に寄せる場合でも、server 側 firewall で client network を許可する必要があります。NFS と同じく、共有設定と firewall の許可範囲がずれていないかを確認します。

sudo nft list ruleset

公開先を広げるほど、Samba の認証だけに依存する範囲が大きくなります。内部用の共有であっても、必要な subnet からの TCP 445 に絞る方が扱いやすくなります。

client から接続を確認する

Linux client から確認する場合は、smbclient で share 一覧と接続を確認できます。server address は実際の IP address または名前に置き換えてください。

smbclient -L //192.0.2.10 -U smbuser
smbclient //192.0.2.10/smbuser -U smbuser

macOS では Finder の「サーバへ接続」から smb://192.0.2.10/smbuser のように指定します。Windows では Explorer から \\192.0.2.10\smbuser の形式で確認します。

切り分けの見方

Samba に接続できない場合は、Samba user、Linux filesystem 権限、smb.conf、firewall、client 側の資格情報キャッシュを分けて確認します。

確認するポイント
  • testparm -s /etc/samba/smb.conf が通るか
  • smbd.service が起動しているか
  • pdbedit -L に Samba user が存在するか
  • Linux 側の owner / group / permission が share 用途に合っているか
  • TCP 445 が必要な client network から到達できるか

まとめ

Samba の基本は、smb.conf の構文、Samba user、Linux filesystem 権限、service、firewall、client 接続を分けて見ることです。特に認証付き共有では、Samba password だけでなく Linux user と directory 権限が同時に関係します。

Ubuntu 26.04 でファイル共有を設計する場合、Unix / Linux 同士の共有は NFS、Windows や macOS も含む共有は Samba というように、client と権限管理の都合で使い分けると見通しがよくなります。

関連する記事
Ubuntu 26.04 Samba の基本設定 – smb.conf と認証付きファイル共有を管理する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る