結論
華爲分享有個共享至電腦的功能,使用samba協議。開啓後,電腦可以通過網絡訪問到手機的文件系統。
華爲手機無線共享文件至Linux系統有些波折。
例如我使用Fedora 33默認的文件管理器(nautilus)無法正常連接到手機的samba服務。
我使用muCommander能正常連接。
意外
但是smbclient無法正常連接,除非你修改smb.conf,添加“client min protocol = NT1”到global。
下面有四個命令:
- 修改smb.conf前,嘗試使用smbclient訪問手機
- 修改smb.conf,添加“client min protocol = NT1”
- 修改後再次嘗試,默認用系統用戶,和華爲分享設定的用戶不一樣。
- smbclient指定用戶,輸錯密碼。
- 密碼正確,獲取分享的目錄。但是華爲分享上出現“1臺設備正在訪問本機”的信息,但是一閃而過。倒計時重新開始了。
1~ $ smbclient -L 192.168.10.172
protocol negotiation failed: NT_STATUS_CONNECTION_DISCONNECTED
2~ $ sudo gedit /etc/samba/smb.conf
[sudo] password for ydx:
** (gedit:3668): WARNING **: 16:13:41.359: AT-SPI: Could not obtain desktop path or name
** (gedit:3668): WARNING **: 16:13:41.365: atk-bridge: GetRegisteredEvents returned message with unknown signature
** (gedit:3668): WARNING **: 16:13:41.365: atk-bridge: get_device_events_reply: unknown signature
** (gedit:3668): WARNING **: 16:13:41.365: atk-bridge: get_device_events_reply: unknown signature
3~ $ smbclient -L 192.168.10.172
Enter [email protected]'s password:
Anonymous login successful
Sharename Type Comment
--------- ---- -------
Error returning browse list: NT_STATUS_ACCESS_DENIED
Reconnecting with SMB1 for workgroup listing.
Anonymous login successful
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP
~4 $ smbclient -L 192.168.10.172 -U ydx
Enter WORKGROUP\ydx's password:
session setup failed: NT_STATUS_LOGON_FAILURE
5~ $ smbclient -L 192.168.10.172 -U ydx
Enter WORKGROUP\ydx's password:
Sharename Type Comment
--------- ---- -------
相冊 Disk
內部存儲 Disk
IPC$ IPC IPC Service (Samba on Android)
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP
~ $
猜測
我沒有看過muCommander的源碼。它的安裝包大概40MB。無需修改smb.conf就可用連接手機。
系統自帶的文件管理器和smbclient命令無法正常連上手機。
華爲分享有缺陷。
samba有缺陷。
fedora更新了samba,但是華爲分享重載服務的問題沒有解決。應該是安卓的samba版本沒有修復缺陷。
https://www.samba.org/samba/history/samba-4.13.5.html
BUG 14604: smbd: In conn_force_tdis_done() when forcing a connection closed force a full reload of services.