「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



昨日の、samba設定周りの話の続き。


<昨日までのお話>

USBメモリに入れたLinux Mint19.3(USBメモリから起動
できるLinux環境)、sambaの設定したらWindows10機
のエクスプローラから見えず、Linux Mintのファイル
マネージャからもWindows10機にアクセスできない
状態。(もちろん、Windows10機同士ならマシン名で
お互いの共有フォルダにアクセスできる状態)

以前のUbuntu / Linux Mintなら、OSインストールした
直後に、Windows同士と同じように、Windows上の
共有フォルダに「名前」で一覧表示されてたし、
WindowsのエクスプローラからもLinux上の共有
ディレクトリにアクセスできてたのに。

だいたいは、Windows10がsmb1/cifsのサポートを
やめちゃったことが原因だろうけど、それなら
smb2なり3なりを使って今までのようにアクセス
してくれればいいのにと思うんだけど、まぁ現状は
そうなっていないので、なんとかして、昔のような
感じで、Windows←→Linux双方でファイル共有が
できるようにしたいなというのが、昨日までの
お話。


<基本的な前提情報>

・Windows10機には、共有ディレクトリを作って公開
 していて、別のWindows10からアクセス可能に
 なっている
・Linux側は、Debian系(Ubuntu、Linux Mint、Raspbian)
 あたりのOSが入ってて、sambaをインストール・設定
 済みで、Linux端末同士ではファイル共有が可能に
 なっている。
・多分、最近のDebian系ではAvahiが標準でインストール
 されてて、標準インストールでも「マシン名.local」
 で名前解決が可能になっている。(Avahiが入って
 なかったら入れる必要)
・smb.conf自体の設定内容については、ここでは触れない。
 pdbeditでsambaアカウントを追加したり、systemctlで
 sambaを自動起動設定するなどの、もろもろについては、
 適宜ネットでググってほしい。
・個人的なPC環境の都合として、Linuxサーバ周りに
 ついては、適宜ポートを閉じたり、アクセスできる
 IPアドレスを絞ったりして、セキュリティーホールを
 突かれにくい環境にしてある。具体的には、samba周り
 については、udpでは137と138が、tcpでは139と445が
 それぞれ受付可能なように、ufwで設定を行っている。
 (追記:sshのポートと、http用のポートも開けてある)


<Windows10側からLinuxサーバを名前で発見可能にする>

以前、Linux環境からWindows上の共有フォルダが見れた
のは、Linux・Windows双方がsmb1を使って名前解決・
ファイル共有できるようになっていたからだけど、
smb1のセキュリティーホールを突く「WannaCry」の対策
として、smb1が無効化されてしまった。
その結果、IPアドレスを直接指定しないと、共用フォルダ
(共用ディレクトリ)を公開しているマシンにアクセス
できなくなっている。

で、SMB2以降(ここではSMB3)を使ってファイル共有する
ために、双方向で「名前解決」できる必要があって、
そのうちWindows10側からLinux上の共有ディレクトリに
アクセスするための、名前解決に関する手段を組み込む
必要が出てくる。

具体的には、「wsdd」という、Python3で作られた
名前解決のデーモンを導入することで、名前解決を図る。

・wsddが使用するポートを開放する

  ufwを使って、ファイアウォールのポートを開ける。
  具体的には、TCPとUDPの3702を開けるのと、TCPの
  5357番・5358番を開けておく。

  sudo ufw allow 3702/tcp
  sudo ufw allow 3702/udp
  sudo ufw allow 5357/tcp
  sudo ufw allow 5358/tcp

・wsddのインストール

  http://benedicam-te.blogspot.com/2019/05/samba-wsdd-windows10.html
  を参考に、wsddをダウンロード(wget)、設定ファイル
  の設定、サービスの登録と起動をおこなう。

  その際、ドメインについては、「MYDOMAIN」の
  代わりに、Windows標準の「WORKGROUP」を設定
  しておけば、ひとまず大丈夫なはず。 
  設定したら、以下のコマンドでsystemctlコマンド
  を使って、systemdにwsddサービスの有効化と起動を
  行う。

  systemctl enalbe wsdd
  systemctl start wsdd

これ以降、Windowsのエクスプローラで共用ファイルに
アクセスすることが可能なはず。
(追記:Linuxサーバに振った名前を指定してアクセス
 が可能になったはず)


<Linuxサーバ側からWindows上の共有ディレクトリにアクセス可能に>

Linux Mint19.3など最近のDebian系Linuxでは、Avahi
がデフォルトでインストールされており、mDNSで
名前解決が可能になっている。(入っていない場合は
aptなどでAvahiを導入要)

Avahiが有効であれば、例えばpingコマンドなどでは
 「ping (マシン名).local」
のように、「.local」をつけることで、IPアドレスを
直接指定しなくても、そのマシンにアクセス可能に
なっている。(名前の解決ができるようになっている)

しかし、これだけではファイルマネージャからWindows上
の共有フォルダにアクセスできない。アクセスするため
には、「winbind」「libnss_winbind」のインストール
と、設定が必要。

・winbind、libnss_winbindのインストール

  sudo apt-get install winbind libnss-winbind

・設定ファイルを修正して、再起動して反映

  sudo nano -w /etc/nsswitch.conf
  で設定ファイルを開いて、hosts行の「dns」の
  手前のところに「wins」を追記する
  (ctrl-xで保存して終了)

Linux OSを再起動すると、Linux側からWindows上の
共有フォルダにアクセス可能になっている(はず)。

ただし、ファイルマネージャの「ネットワーク」の
ところを開いても、一覧表示はされないみたい。
(url欄に、smb://(マシン名).local と直接名前で指定
 することで、そのマシンの共有ディレクトリにアクセス
 が可能に)


というわけで、なんだかんだで、これまでに認識して
いた方法で、Windows←→Linux間でファイルの共有が
可能になったはず。

Ubuntu、Linux Mint、Raspbianそれぞれで、この方法が
適用できると思うんだけど、現状はLinux Mintだけで
しか確認できてないので、他の環境の場合はそれなりの
対処をしていただければと。

(間違えがあったりしたら、こっそり教えてください。
 あまりちゃんと検証できてないので)





https://twitter.com/Hoshigamiya/status/1231093464462266368

「頭が赤い魚を食べる猫」




https://twitter.com/erokhairo/status/1230798741915000832

深センのタクシーの状況。
日本でも、近々こういう状況が必要になってくるん
じゃないのかなぁ?





https://twitter.com/gachacomplete/status/1230997070376341504

「アセンブリ、チョットワカル」




https://twitter.com/mizuhasi_yukkie/status/1231068315281281024

かっちょいい!かっちょいい!!
これぞサイバーだな。サイバー感120%。





https://twitter.com/yosizo/status/1230693329655877636

手洗い大事。
ちなみにオイラ、外出から帰ったら、250ppmの塩素
スプレーで手を殺菌してるので、ここ1年以上は
風邪らしい風邪をひいたことがないなぁ。

(訂正:200pmだった。原液が500pmの次亜塩素酸を
 2.5倍に薄めて使ってた)




https://toyokeizai.net/articles/-/331558

おでん種店が、東京ですごい減ってるらしい。




https://www.youtube.com/watch?v=6YfULP57Dz4

CPUをトランジスタで作ろう!#11 が来てた。
完成間近だな。



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする