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だけでなく、他のポートも許可する必要があるかもしれません。
設定( /etc/samba/smb.conf)
Arch系のManjaro Linuxでは/etc/sambaは存在するものの、設定ファイルはなく、manjaro-settings-samba をインストールすると/etc/samba/smb.confが置かれる。
Ubuntuではsambaをインストールすると/etc/samba/smb.confが置かれる。
homeディレクトリ公開
インストール直後はコメント行となっている下記設定からコメントをはずす。
[homes]
comment = Home Directories
read only = no
任意のディレクトリ公開
[SOME-DIR]path = /SOME/DIR
public = yes
writable = yes
printable = no
シンボリックリンクの読み込み
[global]wide links = yes
unix extensions = no
ユーザー 認証
クライアント端末に公開ディレクトリを表示する
ユーザーにファイル削除を許可
プリンターをクライアントに表示しない
disable spoolss = yes
システムのunix/linuxアカウントのパスワードとSambaユーザーアカウントのパスワードの同期
unix password sync = yes
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
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
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)