2026 Nov. 04.
2026 Sep. 13.
2026 Mar. 17.
2025 Sep. 24.
2025 Aug. 29.
2024 Jan. 21.
2021 May 02.
2021 Apr. 30.
2021 Mar. 28.
2021 Jan. 31.
2020 Sep. 28.
2020 Jan. 19.
インストール
$ sudo apt update && sudo apt install sambaポート開放
(複数ポートをまとめて設定可能)
$ sudo ufw enable
$ sudo ufw allow from YOUR.NETWORK.ADDRESS.0/24 to any app Samba
(例) sudo ufw allow from 192.168.1.0/24 to any app Samba
$ sudo ufw reload
(個別設定する場合)
$ sudo ufw enable
$ sudo ufw allow proto udp from YOUR.NETWORK.ADDRESS.0/24 to any port 137
$ sudo ufw allow proto udp from YOUR.NETWORK.ADDRESS.0/24 to any port 138
$ sudo ufw allow proto tcp from YOUR.NETWORK.ADDRESS.0/24 to any port 139
$ sudo ufw allow proto tcp from YOUR.NETWORK.ADDRESS.0/24 to any port 445
$ sudo ufw reload
(Chat GPT情報)
Sambaは通常、以下のポートを使用します。
TCP 139: NetBIOSセッションサービス
TCP 445: Microsoft-DSサービス
UDP 137: NetBIOSネームサービス
UDP 138: NetBIOSデータグラムサービス
これらのポートは、SambaがWindowsファイルおよびプリンタ共有を提供するために使用されます。ただし、特にセキュリティ上の理由から、TCP 445が最も一般的に使用されるポートです。したがって、多くの場合、SambaサーバーへのアクセスはTCP 445ポートを介して行われます。
ただし、ネットワーク環境や設定によっては、他のポートも使用されることがあります。特にUDP 137とUDP 138は、NetBIOSネームサービスとデータグラムサービスに関連しており、ネームリゾルバやブラウジングに使用されることがあります。
したがって、必要に応じてこれらのポートをファイアウォールやセキュリティグループで適切に設定することが重要です。ネットワーク構成によっては、TCP 445だけでなく、他のポートも許可する必要があるかもしれません。
OpenVPN経由での接続のためのポート開放
https://rasumus.hatenablog.com/entry/2018/05/26/103300
設定( /etc/samba/smb.conf)
Arch系のManjaro Linuxでは/etc/sambaは存在するものの、設定ファイルはなく、manjaro-settings-samba をインストールすると/etc/samba/smb.confが置かれる。
Debian、Ubuntuではsambaをインストールすると/etc/samba/smb.confが置かれる。
global設定
wide links = yes
unix extensions = no
security = user
map to guest = never
browseable = yes
disable spoolss = yes
homeディレクトリ公開
[homes]
comment = Home Directories
browseable = no
guest ok = no
read only = no
create mask = 0644
directory mask = 0755
writable = yes
valid users = %S
任意のディレクトリ公開
browseable = yes
read only = no
writable = yes
guest ok = no
valid users = USER1,USER2
create mask = 0644
directory mask = 0755
acl_xattr:ignore system acls = no
設定メモ
"guest ok = no"と"public = no"は同じなので。どちらかの指定でよい。
"guest ok= no"と"map to guest = never"は効果が重なるため、どちらかの指定でよい。
printer関連
シンボリックリンクの読み込み
[global]wide links = yes
unix extensions = no
ユーザー 認証
クライアント端末に公開ディレクトリを表示する
プリンターをクライアントに表示しない
disable spoolss = yes
sambaクライアントからsambaサーバーを介したネットワークプリンタ利用をしない
システムのunix/linuxアカウントのパスワードとSambaユーザーアカウントのパスワードの同期
unix password sync = yes
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password syncパラメータを「yes」に設定することで、Sambaパスワードが変更されるタイミングでUNIXのパスワード変更コマンドを起動することができる。samba再起動(設定読込)
$ sudo systemctl restart smbd.service
$ sudo systemctl restart nmbd.service
unix/linuxユーザーの登録
( www.atmarkit.co.jp/ait/articles/0901/28/news153.html より)
$ sudo pdbedit -a USER // パスワード登録も求められる。
パスワード変更
"guest ok ="の意味
Sambaサーバにアカウントを持たないユーザーがアクセスした場合に、それを特定のUNIXアカウント(ゲストアカウント)にマッピングしてアクセスを許可する設定。yes : ゲストアカウントでのアクセスを許可する。public = yesとしても同じ。
"map to guest ="で、 Sambaユーザーとして存在しないユーザーがアクセスした場合にゲストアカウントとして扱う設定にする。
never : 不正なパスワードによるユーザーのログイン要求を拒否する。
bad User: 不正なパスワードによるユーザーのログイン要求を拒否するが、指定されたユーザーが存在しなかった場合はゲストログインとして扱う。この場合、guest accountで指定したユーザーとなる。
Bad Password : 不正なパスワードによるユーザーのログイン要求はゲストユーザーとして扱う。この場合、guest accountで指定したユーザーとなる。
samba関連ポート
ブラウジングなど 138/udp 138/udp
ファイル / 印刷サービスなど 139/tcp Hi/tcp
ファイル / 印刷サービスなど (Direct Hosting of SMB)
137/udp と 138/udp は UDP のため、基本的に双方向に通過可能にする必要がありますが、それではセキュリティが低下してしまいます。
実は、この 2つが存在しない場合でも、139/tcp(もしくは 445/tcp)が通過できればファイル / 印刷サービスは提供できます。
ただし、139/tcp のみを通過可能にした場合は、ブラウジング機能が動作しないため、Samba マシンのアイコンは「ネットワークコンピュータ」上に表示されません。
TCP 139 NetBIOS
参考元 https://ja.play-and-more.com/5251-smb-port-what-is-port-445-port-139-used-for
第4回 WindowsネットワークとNetBIOS:Windowsネットワークの基礎 - @IT
Windowsネットワークの基本的なプロトコル。
NetBIOS名を使用して互いの位置を特定し、識別します。 NetBIOS名は最大16文字で、通常はコンピュータ名とは別の名前です。
ドメイン、ワークグループ、システム名、アカウント情報など、あらゆる種類の情報はNetBIOS経由で入手できます。
再チェック! ファイル共有プロトコル「SMB」のためのセキュリティ対策 (2/2):山市良のうぃんどうず日記(83) - @IT より
TCP 137 NETBIOS Name Service(netbios-ns)
138/UDP NETBIOS Datagram Service(netbios-dgm)
139/TCP NETBIOS Session Service(netbios-ssn)
445/TCP Direct Hosting of SMB(microsoft-ds)