配置Samba以允许使用CUPS打印机

有桑巴打印的麻烦。 我在Ubuntu 11.04服务器上安装了CUPS打印机,效果很好。

当我尝试配置samba以允许XP机器使用打印机时,它在打印时失败。 我可以从服务器安装XP的打印机驱动程序,打印机出现在XP打印机控制面板中。 当我尝试从XP机器打印测试页时,我在系统事件日志中收到此错误:

Jun 27 20:33:29 FatController smbd[3571]: [2012/06/27 20:33:29, 0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3) Jun 27 20:33:29 FatController smbd[3571]: _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client JAMES machine account JAMES$ 

这是我的smb.conf文件:

 [global] server string = %h (Server) workgroup = SODOR encrypt passwords = true security = user os level = 255 preferred master = yes domain master = yes local master = yes logon path = \\%L\profile\%U logon drive = S: logon home = \\%L\home\%U domain logons = yes map to guest = Never guest ok = no dns proxy = no time server = yes logon script = logon.bat load printers = yes printing = cups printcap name = cups nt acl support = no interfaces = eth1 lo bind interfaces only = yes smb ports = 445 [netlogon] comment = Net Log On path = /home/samba/netlogon guest ok = no read only = yes browseable = no [profile] comment = User Profiles path = /home/samba/profiles read only = no create mask = 0600 directory mask = 0700 browseable = no store dos attributes = yes [printers] comment = All Printers path = /var/spool/samba browseable = yes guest ok = no printable = yes [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes guest ok = no read only = yes write list = root, skizz 

任何人都知道问题是什么以及如何解决它?

除了以上,我也得到这个错误:

 Jun 27 21:56:35 FatController smbd[3571]: [2012/06/27 21:56:35, 0] printing/print_cups.c:1027(cups_job_submit) Jun 27 21:56:35 FatController smbd[3571]: Unable to print file to `Edward' - client-error-not-authorized 

我认为这更相关。

  • 如果你不太习惯使用Samba,你可以使用IPP共享打印机:

    将Windows客户端连接到Linux打印服务器的首选方法是使用IPP。 它是基于HTTP的标准打印机协议,允许您通过端口转发,隧道等方式获利。配置非常简单,这种方式比使用Samba更不容易出错。 自Windows 2000以来,Windows本身支持IPP。要配置服务器端,您需要在/etc/cups/cupsd.conf中启用浏览,方法是添加“BrowesAllow all”行:

      Browsing On BrowseOrder allow,deny BrowseAllow @LOCAL BrowseAllow all 

    在Windows计算机上,转到打印机控制面板,然后选择“添加新打印机”。 接下来,选择提供URL。 对于URL,键入打印机的位置: http://host_ip_address:631/printers/printer_name (其中host_ip_address是GNU / Linux服务器的IP地址,printer_name是要连接的打印机的名称)。

    在此之后,在Windows计算机上安装打印机的本机打印机驱动程序。 如果CUPS服务器设置为使用自己的打印机驱动程序,那么您只需为Windows客户端选择通用的postscript打印机(例如’HP Color LaserJet 8500 PS’或’Xerox DocuTech 135 PS2’)。 然后通过打印测试页来测试打印设置。

  • 如果必须使用Samba共享,可以向smb.conf添加写入列表:

     [printers] comment = All Printers path = /var/spool/samba browseable = yes guest ok = no printable = yes create mode=0700 write list=@adm root  

我在这个维基上找到的所有上述信息,其中包含了更多信息,然后包含在此处。 希望有所帮助!

我也有这个问题,打印机连接到运行Ubuntu 12.04的计算机,并尝试从Windows XP计算机打印。 我发现桑巴有一个已知的bug。

 sudo add-apt-repository ppa:louis-bouchard/samba-lp967410 sudo apt-get update sudo apt-get upgrade 

然后我必须重新生成samba数据库。

 sudo rm -f /var/lib/samba/registry.tdb sudo rm -f /var/cache/samba/printing/* sudo restart smbd sudo restart mnbd 

然后它奏效了。 我有一份具有规范性的支持合同,他们帮助解决了这个问题。

所有手册都说,根据股票期权,您可能read only = yes 。 原来,我需要写一个可能性(一个samba bug?)。 这就是jpetersen所写的 write list=@adm root

当我没有写访问权限时, /var/spool/samba下会出现零大小的文件。 当我以root身份映射共享时 – 我成功了。

最后我通过添加[printers]部分使其工作

 read only = no 

我还有以下内容,以简化操作并简化调试和故障排除:

 [global] max protocol=NT1 smb ports=139