Samba 共享的默认用户名不是客户端系统上的用户名

Samba 共享的默认用户名不是客户端系统上的用户名

安装 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。

相关内容