Ubuntu 18.04 サーバーで Samba 経由でフォルダー共有を有効にしようとしています。
すでにやったこと:
- /etc/samba/smb.confを以下のように編集します。
[global] workgroup = WORKGROUP interfaces = lo eth0 server role = standalone server server string = Samba Server %v security = user map to guest = bad user name resolve order = bcast host dns proxy = no bind interfaces only = yes log file = /var/log/samba/smb.log max log size = 10000 [Public] path = /samba/share writable = yes guest ok = yes guest only = yes read only = no create mode = 0777 directory mode = 0777 force user = nobody
- この結果でtestparmを実行します
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[Public]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] bind interfaces only = Yes dns proxy = No interfaces = lo eth0 log file = /var/log/samba/smb.log map to guest = Bad User max log size = 10000 name resolve order = bcast host security = USER server role = standalone server server string = Samba Server %v idmap config * : backend = tdb [Public] create mask = 0777 directory mask = 0777 force user = nobody guest ok = Yes guest only = Yes path = /samba/share read only = No
- smbd.service を再起動します
- Windows 経由でログオンしようとしていますが、Windows は \SERVERNAME\ にアクセスできません...
- エラーログを参照
[2019/06/23 21:05:54.565424, 0] ../lib/util/become_daemon.c:124(daemon_ready) STATUS=daemon 'smbd' finished starting up and ready to serve connections [2019/06/23 21:06:34.482176, 0] ../source3/smbd/ipc.c:843(reply_trans) reply_trans: invalid trans parameters
約 5 日間この状態が続いていますが、何が起こっているのか何か手がかりを持っている人はいますか? これを修正するにはどうすればいいですか? 必要なのは、パブリック共有 1 つと、アクセス制限用の共有 1 つだけです。
答え1
インターフェースのみをバインド = はい
インターフェース = lo eth0
samba に特定のインターフェースのみを使用するように指示していますが、指定したインターフェース ( eth0 ) は Ubuntu 18.04 には存在しません。これは別の形式です。
何かを指定する理由がなく、samba にこれを独自に解決させたい場合は、smb.conf から次の 2 行を削除して smbd を再起動します。
sudo service smbd restart
特定のインターフェースを指定したい場合は、次のコマンドを使用して実際の名前を見つけます。
nmcli device show | grep DEVICE
答え2
Windows は現在、WSD (Web サービス検出?) を使用していますが、これは Ubuntu 19.04 時点で利用可能なさまざまな Samba には含まれていません。
githubにはPythonで書かれたWSDを実装したプロジェクトがあります。https://github.com/christgau/wsddまたは直接ダウンロードhttps://raw.githubusercontent.com/christgau/wsdd/master/src/wsdd.py
これを使用するコツの 1 つは、ファイアウォールを介していくつかのポートを有効にする必要があることです。
wsdd を実行するには、ポート 5357/tcp と 3702/udp を開く必要があります。
wsdd はコマンドラインから実行することも、systemd サービスを作成して実行することもできます。
これはSamba開発の活発な(おそらく)領域であり、それに関する情報は以下で見つけることができます。https://www.ixsystems.com/community/resources/how-to-kill-off-smb1-netbios-wins-and-still-have-windows-network-neighbourhood-better-than-ever.106/現在Archユーザーリポジトリで利用可能で、他のいくつかのディストリビューションでも利用可能のようです。また、AskUbuntuでも言及されています。Windows の「ネットワーク」で samba 共有を表示する
サービスとして開始
wsdd用のsystemdサービスユニットファイルを作成しました。/lib/systemd/system/wsdd.service
内容は次のとおりです。
[Unit]
Description=WSDD Network Service
BindsTo=smbd.service
After=smbd.service
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/usr/bin/wsdd
#ExecReload=/user/bin/wsdd
[Install]
WantedBy=multi-user.target
wsdd.py
次に、に移動し/usr/bin/wsdd
、その権限を 555 (読み取りおよび実行) に変更しました。
最後に、sudo systemctl enable wsdd.service
再起動すると、Ubuntu システムが Win10 コンピューターに表示されるようになりました。