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。

相關內容