我有两台联网的 FreeBSD 11.1 服务器,都安装了 Samba 4.6.x。 Samba 没有问题,它可以从任何 Windows 客户端很好地浏览,但我似乎找不到使用 CLI 从一台服务器安装到另一台服务器(或者实际上从一台服务器本身)安装 samba 的语法。
两台服务器使用相同的远程用户+密码来访问Samba共享。服务器是独立的,并使用自己的用户/组进行身份验证/权限;没有广告。
作品:
smbclient \\\\servername\\myfiles -U servername\\remoteuser
smbclient '\\servername\myfiles' -U servername\\remoteuser
(they're equivalent)
不起作用(摘自历史):
mount_smbfs -I serverIP //remoteuser@servername/myfiles ~/mountpoint
mount_smbfs -I servername //remoteuser@servername/myfiles ~/mountpoint
smbutil -v login //remoteuser@servername/myfiles
mount_smbfs -I smbclient \\\\servername\\myfiles -U servername\\remoteuser
mount_smbfs -U servername\\remoteuser \\\\servername\\Usr_files ~/mountpoint
mount_smbfs -U servername\\remoteuser //remoteuser@servername/myfiles ~/mountpoint
mount_smbfs //remoteuser@servername/myfiles ~/mountpoint
mount_smbfs //\\servername\\remoteuser@servername/myfiles ~/mountpoint
mount_smbfs //\\\\servername\\remoteuser@servername/myfiles ~/mountpoint
mount_smbfs //servername/remoteuser@servername/myfiles ~/mountpoint
mount_smbfs -I serverIP //servername/remoteuser@servername/myfiles ~/mountpoint
mount_smbfs //[email protected]/myfiles ~/mountpoint
mount_smbfs //remoteuser@servername/myfiles ~/mountpoint
mount -t smbfs //remoteuser:remotepassword@servername/myfiles ~/mountpoint
mount -t smbfs //remoteuser@servername/myfiles ~/mountpoint
mount -t smbfs \\\\remoteuser@servername\\myfiles ~/mountpoint
mount -t smbfs remoteuser@servername/myfiles ~/mountpoint
mount -t smbfs //remoteuser@servername/myfiles ~/mountpoint
mount -t smbfs //remoteuser@serverIP/myfiles ~/mountpoint
mount_smbfs -I servername //remoteuser@servername/myfiles ~/mountpoint
mount_smbfs -I servername -U \\\\servername\\remoteuser //remoteuser@servername/myfiles ~/mountpoint
mount_smbfs -I servername -U \\\\servername\\remoteuser //servername/myfiles ~/mountpoint
你明白了:)我已经尝试在远程服务器的 smbd 日志中对它所期望的内容与我所提供的内容进行故障排除,但我似乎仍然找不到所需的命令。
错误消息是“权限被拒绝”,或者在远程日志中,混合了 NT_STATUS_NO_SUCH_USER (“您的用户/系统名称的语法错误”)、NT_STATUS_NOT_FOUND (“您的共享语法或其他内容错误”)和NT_STATUS_ACCESS_DENIED(“您的凭据语法错误”)。正如上面的第一个命令多伊工作,很明显问题是使用不正确的语法/参数之一,而不是实际的权限、任务资源或配置问题。
我对 Samba 的 CLI 语法有什么根本性的误解,正确的命令是什么?
答案1
mount_smbfs 无法与 smbv2 及更高版本正常工作。我发现的唯一解决方案是更改 smb.conf 全局部分中 samba 服务器上的一些设置
client ntlmv2 auth = no
ntlm auth = yes
设置上述内容让我使用 mount_smbfs 命令在 FreeBSD 主机上挂载我的 samba 共享并写入共享
mount_smbfs -I 10.0.4.8 -U someuser //someuser@samba4/someshare /sambad01
samba 服务器上的 test_parm 显示以下内容:
root@samba:/ # testparm
Load smb config files from /usr/local/etc/smb4.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
client NTLMv2 auth = No
log file = /var/log/samba4/%m
map to guest = Bad User
netbios name = SAMBA4
ntlm auth = ntlmv1-permitted
idmap config * : backend = tdb
smbstatus(NT1 用于 mount_smbfs,smb3_11 用于我的 Windows 主机):
root@samba:/ # smbstatus
Samba version 4.10.11
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
1200 someuser someuser d04 (ipv4:10.0.4.4:43318) NT1 - -
13014 someuser someuser 10.10.10.14 (ipv4:10.10.10.14:61017) SMB3_11 - partial(AES-128-CMAC)
答案2
... 有效
mount_smbfs -I 10.10.10.10 -U someuser -W someworkgroup //[email protected]/somesharename /mnt/somemountname