Samba

samba print$ share 不允許從 Windows 機器上傳驅動程序

  • October 14, 2019

我正在嘗試將 samba 與 CUPS 一起使用來共享網路中 Windows 機器的列印機及其驅動程序。每次我嘗試通過 printmanagement.msc 從 Windows 10 機器上傳列印機驅動程序時,我都會收到“拒絕訪問”錯誤,但在伺服器端我可以看到文件已創建!

到目前為止,我已經在 Ubuntu 18.04 LTS 工作站上安裝了 samba,創建了一個具有相應密碼的 samba 使用者“root”並編輯了 smb.conf

[print$]
   path = /srv/samba/printer_drivers/
   read only = no
   guest ok = yes
   browseable = yes
   wirteable = yes
   directory mask = 0775
   create mask = 0775
   write list = @lpadmin, root
   admin users = @lpadmin, root
   force user = root

共享目錄 /srv/samba/printer_drivers/ 具有以下權限:

root$ ls -la /srv/samba/printer_drivers/
total 36
drwxrwsr-x 9 root root 4096 Nov  7 14:30 ./
drwxr-xr-x 3 root root 4096 Nov  5 10:24 ../
drwxrwsr-x 2 root root 4096 Nov  7 14:30 IA64/
drwxrwsr-x 2 root root 4096 Nov  7 14:30 W32ALPHA/
drwxrwsr-x 2 root root 4096 Nov  7 14:30 W32MIPS/
drwxrwsr-x 2 root root 4096 Nov  7 14:30 W32PPC/
drwxrwsr-x 2 root root 4096 Nov  7 14:30 W32X86/
drwxrwsr-x 2 root root 4096 Nov  7 14:30 WIN40/
drwxrwsr-x 4 root root 4096 Nov  8 10:41 x64/

子目錄由 Windows AddDriver 嚮導自動創建

我通過連接 Windows 主機上的共享

net use x: \\hostname\print$ /user:root

然後我輸入被接受的密碼

the command completed successfully

然後我可以導航到 Windows 資源管理器中的共享並創建、修改和刪除文件而不會出現任何問題。當我打開 printmanagement.msc 時,點擊我的 samba 伺服器(我添加為列印伺服器)並選擇“添加驅動程序”我可以從列表中選擇一個驅動程序,然後點擊“完成”。然後我可以看到一個資源管理器文件傳輸視窗,顯示正在復製文件,Linux 機器上共享目錄的 ls 顯示文件在那裡,但是 windows 機器然後拋出錯誤:

“無法安裝驅動程序 HP LaserJet (…),類型 4 - 使用者模式 x64。訪問被拒絕。”

一旦我使用 OK 按鈕接受錯誤消息,共享上的驅動程序文件就會被刪除。

smbstatus 的輸出(我概括的前 3 個 IP 地址部分):

root$ smbstatus
Samba version 4.7.6-Ubuntu
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing              
----------------------------------------------------------------------------------------------------------------------------------------
13162   root         root         *.*.*.119 (ipv4:*.*.*.119:49176) SMB3_11           -                    partial(AES-128-CMAC)

Service      pid     Machine       Connected at                     Encryption   Signing     
---------------------------------------------------------------------------------------------
print$       13162   *.*.*.119 Thu Nov  8 12:45:30 PM 2018 CET  -            -           
IPC$         13162   *.*.*.119 Thu Nov  8 12:45:37 PM 2018 CET  -            -           

Locked files:
Pid          Uid        DenyMode   Access      R/W        Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
13162        0          DENY_NONE  0x80        RDONLY     NONE             /srv/samba/printer_drivers   .   Thu Nov  8 12:45:31 2018

我遇到了同樣的問題,結果證明是驅動程序之一。使用另一個版本它可以工作。雖然我一直無法從windows的列印管理中進入列印機首選項來設置預設的列印類型和雙面

你拼錯wirteable = yes了,應該是writeable = yes,可能可以解決它。但這是一個瘋狂的猜測,我只是偶然偶然發現的。

此外,testparm /etc/samba/smb.conf當您需要檢查smb.conf文件中的不一致時,您就是您的朋友。

引用自:https://unix.stackexchange.com/questions/480557