web-dev-qa-db-ja.com

Windows 10でネットワークの下にubuntu共有フォルダを表示する方法

私のホームネットワークは次のとおりです。

  1. ファイルサーバー-> Ubuntu 18.04
  2. ワークステーション/ゲーミングリグ-> Windows 10
  3. 開発ノートパソコン-> Ubuntu 18.04

共有ファイルを自分のマシンでも、ハウスメイトなどのネットワークにジャンプする他の人でも簡単に機能させたい.

ファイルサーバーには、ブート用のraid 1に2個の120gb SSD、Devと呼ばれるdevファイル用のraid 1に2個の2tb HDD、およびメディアと呼ばれる私の家のネットワークアクセス可能なメディア用に共有されるスペア2tbドライブがあります。

各フォルダーを開いてプロパティを開き、共有を有効にし、すべてのアクセス許可を付与し、ゲストアクセスをチェックし、他のユーザーがこのフォルダーでファイルを作成および削除できるようにすることでフォルダーを共有しました。開発用ドライブのアクセス許可は後で変更する予定ですが、最初に機能するために必要なだけです。

ラップトップから[ファイル]-> [他の場所]に移動して、そこにあるサーバーを確認し、[共有]をクリックしてファイルにアクセスできます。

Windowsでエクスプローラーを開いて[ネットワーク]をクリックすると、サーバーが表示されません。ドライブを手動でマップする必要がないため、ここに表示したいので、ファイルに簡単にアクセスできるようにします。

Windows 10のネットワークでネットワークドライブを可視化するにはどうすればよいですか? Sambaを使用する必要がありますか、それとも共有方法はうまく機能していますか?

1
benikens

[1]すでにSambaを使用しているようです。次のコマンドを実行して確認してください:

net usershare info --long

[2] Ubuntu 18.04は、mDNS(Avahi)を使用して、Sambaサーバーを残りのネットワークに自動的に「登録」します。他のすべてのLinuxマシンとmacOSは、この登録を自動的に「検出」できます。

[3] Win10がサーバーを検出できない理由は、mDNSを使用できるにもかかわらず、ネットワークを自動的にスキャンする方法がわからないためです。代わりにNETBIOSを使用し、それには複数の問題があります。

[a] Win10は、クライアント側(およびサーバー側)でSMB1を無効にし、NETBIOS(名前解決ではなくホスト名検出)とSMB1がリンクされます。 [コントロールパネル]> [プログラムと機能]> [Windowsの機能の有効化または無効化]> SMB 1.0/CIFSファイル共有サポート> SMB 1.0/CIFSクライアント

[b]しかし、その後、NETBIOSルール(つまり、ホスト名の長さは15文字を超えることはできません)に従う必要があります。これらの種類はsmb.confで修正できます。 /etc/samba/smb.confを編集して、workgroup = WORKGROUP行のすぐ下に次の2行を追加します。

netbios name = ubserv1804
name resolve order = bcast Host lmhosts wins

次に、sambaを次の順序で再起動します。

Sudo service smbd restart
Sudo service nmbd restart

その後、約10分ほど待ちます-真剣に。 NETBIOSは非常に原始的であるため、nmbdを再起動するとWindowsで混乱が生じ、再び正常に動作するようになるまで少し時間がかかります。

2
Morbius1

誰かが興味を持っているなら、私はWindows 10に関して代替手段を持っています。ランチパッドでバグ/機能リクエストとしてこれを提出しました: https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1831441

Githubには、このほとんどが既に作成されているものが存在します。 Ubuntuで使用できますが、実装するには多少の作業が必要です。

[1]ファイルをダウンロードします。

wget https://github.com/christgau/wsdd/archive/master.Zip

[2] UnZip it:

unzip master.Zip

[3] pythonスクリプトの名前を変更します

Sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd

[4]/usr/binにコピーします

Sudo cp wsdd-master/src/wsdd /usr/bin

[5] systemdサービスファイルは既にパッケージで提供されており、正しい場所にコピーする必要があります。

Sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system

[6] wsdd.serviceファイルを編集して、nobodyユーザーへの参照を削除する必要があります。

#User=nobody
#Group=nobody

[7]次に、サービスを有効にします。

Sudo systemctl daemon-reload
Sudo systemctl start wsdd
Sudo systemctl enable wsdd

これで、Win10は独自のネイティブWSDプロトコルでUbuntuサーバーを検出できるようになり、クライアント側でsmb1を有効にする必要がなくなりました。

0
Morbius1