安装 Samba 共享时,用户名默认为客户端计算机的用户名,而不是之前“连接到服务器”对话框中的“用户名”字段。
使用 Nautilus 从 Linux 通过 ssh 访问 Samba 共享,其中客户端用户名是“lfm”,服务器系统上的用户名是“lastfirstmiddle”:
$ who | awk '{print $1}'
lfm
lfm
$ sudo ssh [email protected] -L 445:samba.example.com:445 -L 139:samba.example.com:139 -f -N
[sudo] password for lfm:
[email protected]'s password:
$ nautilus
用户主目录共享没有出现该问题。密码对话框按预期使用“连接到服务器”对话框中指定的用户名:
lfm - File Brower
Location: [/home/lfm]
File>Connect To Server...>
Connect To Server
Service type: [Windows Share]
Server: [localhost]
Share: [lastfirstmiddle]
User Name: [lastfirstmiddle]
Domain Name: [example-com]
<Connect>
Password required for share lastfirstmiddle on localhost
[x]Forget password immediately
Password: [*******]
<Connect>
lastfirstmiddle on localhost - File Browser
Location: [smb://example-com;lastfirstmiddle@localhost/lastfirstmiddle/]
使用“连接到服务器”对话框,可以通过将“共享”字段留空来获取“Windows 共享”列表。
lastfirstmiddle on localhost - File Browser
File>Connect To Server...>
Connect To Server
Service type: [Windows Share]
Server: [localhost]
Share: []
User Name: [lastfirstmiddle]
Domain Name: [example-com]
<Connect>
Password required for share lastfirstmiddle on localhost
[x]Forget password immediately
Password: [*******]
<Connect>
On localhost - File Brower
Location: [smb://localhost/]
然后选择一个共享,“使用打开的文件夹打开”将生成“连接到服务器”对话框,与之前的情况不同,该对话框默认将“用户名”设置为客户端系统上的用户。它不会获取生成共享列表的“连接到服务器”对话框中使用的值。
On localhost - File Brower
Location: [smb://localhost/]
----------- ---- ---- -----
Name Size Type Date
----------- ---- ---- -----
AShare -- Folder Unkown
BShare -- Folder Unkown
CShare -- Folder Unkown
{{XShare -- Folder Unkown}}
YShare -- Folder Unkown
ZShare -- Folder Unkown
File>Open with Open Folder>
人们可以使用“连接到服务器”并指定一个“书签”,稍后可以使用该“书签”来安装共享,而不必每次都完成“连接到服务器”对话框。要访问上面列出的所有六种共享 (ABCXYZ),需要创建六个书签。对于六股来说这可能没问题,但如果有几十股,那就有点令人讨厌了。
有没有办法将默认用户名更改为客户端系统用户名以外的其他名称?
答案1
您可能在文件中使用共享级安全性(安全性 = 共享)smb.conf
。在共享级安全性中,Samba 使用共享名称作为连接的用户名,并且在协议中不要求用户名。这基本上就是 Window 98 的工作原理。您可能需要 security = user 并且需要一个正确的smbpasswd
文件,并且 Samba 无法使用普通的 UNIX 密码数据库(/etc/passwd
或/etc/shadow
)。用于smbpasswd -a lfm
为 lfm 添加新用户并设置其密码,设置 security = user insmb.conf
并重新启动 Samba。