2023年11月24日发(作者:)

Windows中文站bbs.w

如何连接Linux共享打印机

作者:liheng

Email:liheng_2006@

随着Linux在集团内的普及,用Linux充当打印服务器,共享给局域网内的其他用

户打印是在所难免的工作。最近我就将一位用户电脑的操作系统从Windows改成了

Linux由于之前这位用户的电脑是在本地安装了HP1010打印机,并且是充当了局域

网内的打印服务器,共享打印机给局域网内的其他用户使用。现在改成Linux后,依然是

要给局域网内的其他用户提供共享打印。其实在Linux中安装HP1010打印机并不难,

红旗Linux6.0都自带有HP1010的打印驱动,按着提示直接安装就行了,安装方法与

Windows中相差不大。安装完后,测试在本地打印没有什么问题。如果需要共享给局域网

里的其他用户打印的话,还需要修改CUPS的配置文件和samba的配置文件才行。刚

开始我只是按照资料上介绍修改了cupssamba的配置文件。但是在测试将客户端连

接到这台Linux打印机时,问题出现了,发现不能打印,尤其客户端是安装的Windows

作系统,虽然连上了,但打印机的状态显示是拒绝访问,无法打印。反复测试了好久,都

是不能打印。最后在同事linda的帮助和自己的努力下终于将问题解决了,现将我的解决方

法贴出来:

环境介绍:

打印服务器:红旗Linux6.0

端:WindowsXPWindows2000、红旗Linux6.0

Linux系统中,打印的工作一般都是通过CUPS来实现的。今天,我就在这里介

绍一下如何使用红旗Linux6.0来充当打印服务器,共享给局域网内其它的用户来提供打印

服务。首先我介绍一下在打印服务器上的配置:

1、修改cups的配置文件/etc/cups/

注:下面红色部分为需要修改的部分,以下皆同

[root@testroot]#vi/etc/cups/

LogLevelinfo

SystemGroupsysroot

#

#Listenlocalhost:631

#修改成

Listen0.0.0.0:631

#默认CUPS只监听本机631端口,631cups的默认监听端口。这里改成0.0.0.0

表示监听局域网内所有的631端口请求

BrowsingOn

BrowseOrderallow,deny

BrowseAllow@LOCAL

DefaultAuthTypeBasic

#

#/>

#Orderallow,deny

#Allowlocalhost

#

20083181总页数:6

Windows中文站bbs.w

#修改成

/>

Orderdeny,allow

AllowFrom192.168.103.*

#这个设置很关键,在这里只允许192.168.103.0/24网段内的用户使用共享打印机,

认是只允许本机使用打印机,这里规则设定与Apache的配置文件里设置相似。

/admin>

EncryptionRequired

Orderallow,deny

Allowlocalhost

/admin/conf>

AuthTypeBasic

Requireuser@SYSTEM

Orderallow,deny

Allowlocalhost

default>

Send-DocumentSend-URIHold-JobRelease-JobRestart-JobPurge-Jobs

Set-Job-AttributesCreate-Job-SubscriptionRenew-Subscription

Cancel-SubscriptionGet-NotificationsReprocess-JobCancel-Current-Job

Suspend-Current-JobResume-JobCUPS-Move-Job>

Requireuser@OWNER@SYSTEM

Orderdeny,allow

Pause-PrinterResume-PrinterSet-Printer-AttributesEnable-Printer

Disable-PrinterPause-Printer-After-Current-JobHold-New-Jobs

Release-Held-New-JobsDeactivate-PrinterActivate-PrinterRestart-Printer

Shutdown-PrinterStartup-PrinterPromote-JobSchedule-Job-After

CUPS-Add-PrinterCUPS-Delete-PrinterCUPS-Add-ClassCUPS-Delete-Class

CUPS-Accept-JobsCUPS-Reject-JobsCUPS-Set-Default>

AuthTypeBasic

Requireuser@SYSTEM

Orderdeny,allow

Cancel-JobCUPS-Authenticate-Job>

Requireuser@OWNER@SYSTEM

Orderdeny,allow

All>

Orderdeny,allow

20083182总页数:6

Windows中文站bbs.w

2、修改samba的配置文件

[root@testroot]#vi/etc/samba/

[global]

workgroup=print

serverstring=SambaServerVersion%v

logfile=/var/log/samba/log.%m

maxlogsize=50

security=share

passdbbackend=tdbsam

loadprinters=yes

cupsoptions=raw

printcapname=/etc/printcap

[homes]

comment=HomeDirectories

browseable=no

writable=yes

validusers=%S;

validusers=MYDOMAIN%S;

[printers]

comment=AllPrinters

path=/var/spool/cups/tmp

browseable=no

guestok=yes

writable=no

printable=yes

3、添加需要共享打印的用户,此用户必须要在客户端的电脑上存在,尤其是对使用

Windows系统的用户

[root@testroot]#useraddnw

#密码的设置必须与客户端上的电脑用户密码相同

[root@testroot]#passwdnw

#samba中添加用户,密码最好设置与系统用户相同

[root@testroot]#smbpasswd-anw

4、修改smbusers文件,这一步很关键,尤其是对于客户端是使用Windows系统的

用户,在这里添加需要共享打印的用户名,用户名之间记得用空格隔开

[root@testroot]#vi/etc/samba/smbusers

#

root=administratoradmin

#修改成

root=administratoradminnw

5、重启smbcups服务

[root@testroot]#/etc/init.d/smbrestart

[root@testroot]#/etc/init.d/cupsrestart

20083183总页数:6

Windows中文站bbs.w

好了,这样就打印共享设置就完成了。下面就是客户端连接共享打印机啦。客户端连接共享

打印机:

Windows:

Windows中连接Linux共享打印了机比较简单,与连接Windows共享打印

机相同,在运行框中输入打印服务器的IP地址即可.例:192.168.103.115。然后双

击欲连接的共享打印机即连接好了共享的打印机,打印测试一下吧(注:此时连接的共享打

印机状态依然是拒绝访问,不能打印,但打印测试却是通过的。)

Linux

Linux中连接共享打印机稍微要麻烦一点,基本上是与连接Windows的打印机相

同,只不过此时在后端选择这一步时,不要选择“SMB共享打印机(Windows,而是要

选择远程CUPS服务器,如图所示:

在这里我选择普通用户,然后输入可以连接共享打印机的用户名与密码(匿名用户还未试过)

20083184总页数:6

Windows中文站bbs.w

在主机空白处输入打印服务器的IP地址,端口号保持默认:631

后面只要想要连接打印服务器的共享打印、打印机的厂商与型号,再后面都基本上是属于

20083185总页数:6

Windows中文站bbs.w

一步下一步就行了,就不赘述了。连接好后,测试打印OK

20083186总页数:6