CUPS会话设置失败,并显示'nt_status_logon_failure'

mur*_*uga 5 linux windows printing cups

我在Linux Debian机器上运行CUPS.使用CUPS我将打印请求发送到Windows XP机器.我启用了445和139端口,我可以连接Windows机器.打印机已连接到Windows计算机.

我正在使用以下命令发送打印请求

lp -E -d < Printer Name > file name. 
Run Code Online (Sandbox Code Playgroud)

发送后我使用以下命令检查打印机状态

lpstat -p < Printer Name > 
Run Code Online (Sandbox Code Playgroud)

我执行上述消息时收到以下错误消息.

unable to connect to cifs host will retry in 60 seconds.. 
Run Code Online (Sandbox Code Playgroud)

当我签入日志时,我收到以下错误消息.

session setup failed: NT_STATUS_LOGON_FAILURE  and NT_STATUS_BAD_NETWORK_NAME
Run Code Online (Sandbox Code Playgroud)

DeviceURI如下所示/etc/cups/printers.conf

 smb://username:password@IP Address of windows Machine/printer_Name
Run Code Online (Sandbox Code Playgroud)

如果密码有"@"符号,请告诉我们,如何在DeviceURI中用实际语法指定"@"(用户:密码 @IP )

Kur*_*fle 4

不幸的是,您没有提供有关您的具体设置的足够详细信息。因此,我将努力考虑几个潜在的问题,并给出如何克服这些问题的提示:

我。

您是否为共享 Windows 打印机使用了正确的共享名称?

要找出答案,请使用以下命令:

$ smbtree -U windowsusername
Run Code Online (Sandbox Code Playgroud)

您可能会看到类似以下输出:

WORKGROUP
   \\MURUGA-PC
      \\MURUGA-PC\G
      \\MURUGA-PC\Z
      \\MURUGA-PC\Public
      \\MURUGA-PC\print$                      Printer Drivers
      \\MURUGA-PC\EPSON Stylus CX8400 Series  EPSON Stylus CX8400 Series
Run Code Online (Sandbox Code Playgroud)

换句话说:您的打印机的共享名可能包含空格。但是您不能在 CUPS 的设备 URI 中使用空格!现在怎么办?

简单: (1) 或者在 Windows 端重命名共享名称。(2) 或者使用以下命令来转义空格%20

smb://muruga:mysecretpassword@muruga-pc/EPSON%20Stylus%20CX8400%20Serie
Run Code Online (Sandbox Code Playgroud)

二.

您的 Windows XP 是否使用Kerberos 身份验证?例如,因为它是Active Directory环境的一部分?那么你应该参考 cups.org 上的这篇文档:

Kerberos 身份验证不适用于用户名/密码,它使用“票证”。


三.

否则,如果您的 Windows XP 计算机是“标准”域的一部分,则放弃您的设备 URIsmb://username:password@ip-address-of-windows/printer_name并使用以下内容可能会更成功:

smb://username:password@domain_name/windows_host/printer_Name
Run Code Online (Sandbox Code Playgroud)

您使用的用户名必须是在 Windows 上安装打印机的 Windows 用户名(及其密码)!


四.

或者,您也可以通过使用 IPP 打印到 Windows 来成功(尽管 XP 需要安装由 Microsoft 提供的支持 IPP 的扩展)。请注意,MS 对其设备 URI 使用非标准语法(使用端口 80 或 443),并且其 IPP 版本仍然是 1.0(始终保持“草稿”状态,从未将其纳入官方发布版本)互联网工程任务组):

DeviceURI https://mywindowsprintserver/printers/printername/.printer
Run Code Online (Sandbox Code Playgroud)

或者

DeviceURI http://mywindowsprintserver/printers/printername/.printer
Run Code Online (Sandbox Code Playgroud)

要对此打印机进行用户名/密码身份验证,您需要

  1. AuthInfoRequired username,password/etc/cups/printers.conf
  2. DefaultAuthType Basiccupsd.conf

要使用 Kerberos,您需要

  1. AuthInfoRequired Negotiate/etc/cups/printers.conf
  2. DefaultAuthType Negotiatecupsd.conf

如果整个设置是在拥有专用 LAN/WLAN 的家庭中,您可能需要考虑删除所有访问控制(首先在 Windows 打印服务器端,然后):

  1. AuthInfoRequired None/etc/cups/printers.conf
  2. DefaultAuthType Nonecupsd.conf

如果您的问题是您的密码包含'@'- 字符,请尝试以下操作:

smb://username:'p@ssword'@domain_name/windows_host/printer_Name
Run Code Online (Sandbox Code Playgroud)

或者

smb://username:p%40ssword@domain_name/windows_host/printer_Name
Run Code Online (Sandbox Code Playgroud)