web-dev-qa-db-ja.com

Ubuntuを16.04から18.04にアップグレードした後、Samba共有のリストがMacに表示されない

Ubuntu 16.04でsambaが正常に動作していた。共有のリストを表示して、さまざまなワークステーションやOSから共有にアクセスできました。 18.04にアップグレードしました。MacからUbuntuサーバーに接続すると、ホームフォルダーのみが表示され、他の共有は表示されません。私は自分のMacで表示しようとしただけなので、他のOSでも表示される可能性があります。それでも私のMacでこれを修正する必要があります。 Finderで[移動]をクリックすると、サーバー名と共有を入力できます。アクセスしたい共有を参照して、共有が存在し、アクセスできるようにします。

面白いことに、ホームフォルダーには何も使用または保存していないため、/etc/samba/smb.confファイルにホームフォルダーを構成していません。

私はgooglefuを試しましたが、それは私にとってはうまくいかなかったので、この問題に関連するものに近いものすら見つけられませんでした。ホームフォルダーの構成がどこから来ているのか、なぜsmb.confファイルに何も表示されないのかわかりません。

18.04にアップグレードする前にSambaにあった機能を復元するにはどうすればよいですか?バージョン間でこれを引き起こす変更は何ですか?

リクエストされた情報を追加しました:

name@Host:/etc/samba$ testparm -s
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Data]"
Loaded services file OK.
Server role: ROLE_STANDALONE

# Global parameters
[global]
    dns proxy = No
    log file = /var/log/samba/log.%m
    max log size = 1000
    panic action = /usr/share/samba/panic-action %d
    security = USER
    server string = %h server (Samba, Mythbuntu)
    workgroup = MSHOME
    idmap config * : backend = tdb


[Data]
    comment = Data Share
    create mask = 0644
    path = /share/data
    read only = No
name@Host:/etc/samba$


name@Host:/etc/samba$net usershare info --long
name@Host:/etc/samba$

Nothing is output from that command. Tried with Sudo, no difference.

user@Host:/etc/samba$ cat smb.conf
[global]
workgroup = MSHOME
server string = %h server (Samba, Mythbuntu)
log file = /var/log/samba/log.%m
max log size = 1000
# syslog = 0
panic action = /usr/share/samba/panic-action %d
dns proxy = no
security = user

[Data]
comment = Data Share
path = /share/data
browseable = yes
public = no
writable = yes
create mask = 0644
directory mask = 0755
user@Host:/etc/samba$ 

更新:マシンをWindows 10で再起動し、サーバーをアップグレードする前と同じパスワードを使用して、通常どおりに共有にアクセスできました。 Macに再起動し、サーバーへのアクセスに別のパスワードを使用していることに気付きました。ユーザー名は同じですが、パスワードが異なります。 Windowsと同じパスワードを試しましたが、Macでは機能しません。 Macは、そのOSの最新バージョンでHigh Sierraを実行しています。

少しわかりやすくしていますが、SambaにはUbuntuへのログインに使用するパスワードとは異なるパスワードを使用しています。 Windowsで機能する古いパスワードはsambaパスワードです。このパスワードは、アップグレード前のMacでは問題なく機能していました。これで、ユーザー名をどのようにフォーマットしても、Macはこのパスワードを受け入れません。アカウントで使用しているパスワードを受け入れます。それが何が起こっているのかについていくつかの光を当てることを願っています。 Windows 10は、私のアカウントのパスワードを受け入れません。sambaのパスワードのみを受け入れます。

更新2:testparmから元の出力を削除し、smb.fileの内容を、共有したい実際のパスを持つ実際の共有に変更しました。この変更によってMacに表示される内容に違いはなく、Macに直接アクセスできます。以前にすべての共有が表示されていた場所にログインした後、Ubuntuサーバーを確認しても表示されません。 smb.confファイルにないホームフォルダーがまだ表示されます。パスワードが異なり、表示される共有のリストが異なるため、MacはWindowsとは異なる構成にアクセスしているように動作しています。 Windowsでホームフォルダーがまったく表示されず、Macでしか表示されません。アップグレードする前にこのオプションに気付いていなかったので、新しいと思うもう1つのことに気づきました。Macには、VNC経由でホームxセッションを簡単に確認できるサーバー用の個別のアイテムが表示されます。

アップデート3:それでも、なぜMacが以前のようにネットワーク共有をリストしないのかを解明しようとしている。これはSambaに関するものだと思いました。 Macでsmbutilを実行してみました。使用可能なすべてのsamba共有を一覧表示でき、その一覧はsmb.confファイルの内容と一致します。次に、Ubuntuサーバーのsambaサービスを停止しました。それでもFinderからログインできますが、Finderは引き続き表示され、「ホームディレクトリ」に接続できます。 Ubuntuでこのサービスを提供しているものについて何も見つけることができませんでしたが、Sambaではありません。広告はおそらくBonjourですが、これを構成する方法については何も見つかりませんでした。これはおそらくMacに固有のものであり、これがどのように行われるかについて私が見つけることができるドキュメントはありません。

1
MysticGhoster

問題が見つかりました。これで後で発生する可能性がある他者の利益のために投稿する。これがお役に立てば幸いです。

サーバーで実行されているプロセスを検索し(Sudo systemctl --state = active)、Netatalkが実行されていることを発見しました。これにより、「ホームディレクトリ」共有が提供されました。 Netatalkをシャットダウンすると消えてしまいましたが、Finderのリンクを使用してデスクトップにリモートでアクセスできました。サーバーに再接続すると、通常の共有リストが表示されました。これはアップグレード前に実行されている必要がありますが、より新しいバージョンに更新されるまで機能しませんでした。または、アップグレードの一部としてインストールされたのですが、どちらの方法でもわかりません。

0
MysticGhoster

Macではわかりませんが、Windows 10クライアントでは、WSD(WS-Discovery)プロトコルがサポートされていないことが問題です。これに関するバグレポートがあります: https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1831441 良いニュースは、上記のドキュメントで説明されているように、以下。私は私のubntu 18.04サーバーに実装しましたが、それは魅力のように機能します。

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

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

[2]解凍後、pythonスクリプトの名前を変更します:

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

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

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

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

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

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

#User=nobody
#Group=nobody

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

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