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的配置文件才行。刚
开始我只是按照资料上介绍修改了cups和samba的配置文件。但是在测试将客户端连
接到这台Linux打印机时,问题出现了,发现不能打印,尤其客户端是安装的Windows操
作系统,虽然连上了,但打印机的状态显示是“拒绝访问,无法打印”。反复测试了好久,都
是不能打印。最后在同事linda的帮助和自己的努力下终于将问题解决了,现将我的解决方
法贴出来:
环境介绍:
打印服务器:红旗Linux6.0
客户端:WindowsXP、Windows2000、红旗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端口,631为cups的默认监听端口。这里改成0.0.0.0
表示监听局域网内所有的631端口请求
BrowsingOn
BrowseOrderallow,deny
BrowseAllow@LOCAL
DefaultAuthTypeBasic
#将
# #Orderallow,deny #Allowlocalhost #
2008年3月18日1总页数:6
Windows中文站bbs.w
#修改成
Orderdeny,allow AllowFrom192.168.103.*
#这个设置很关键,在这里只允许192.168.103.0/24网段内的用户使用共享打印机,默
认是只允许本机使用打印机,这里规则设定与Apache的配置文件里设置相似。
EncryptionRequired Orderallow,deny Allowlocalhost
AuthTypeBasic Requireuser@SYSTEM Orderallow,deny Allowlocalhost
Set-Job-AttributesCreate-Job-SubscriptionRenew-Subscription Cancel-SubscriptionGet-NotificationsReprocess-JobCancel-Current-Job Suspend-Current-JobResume-JobCUPS-Move-Job> Requireuser@OWNER@SYSTEM Orderdeny,allow 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 Requireuser@OWNER@SYSTEM Orderdeny,allow Orderdeny,allow 2008年3月18日2总页数: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、重启smb和cups服务
[root@testroot]#/etc/init.d/smbrestart
[root@testroot]#/etc/init.d/cupsrestart
2008年3月18日3总页数:6
Windows中文站bbs.w
好了,这样就打印共享设置就完成了。下面就是客户端连接共享打印机啦。客户端连接共享
打印机:
Windows:
在Windows中连接Linux共享打印了机比较简单,与连接Windows共享打印
机相同,在运行框中输入打印服务器的IP地址即可.例:192.168.103.115。然后双
击欲连接的共享打印机即连接好了共享的打印机,打印测试一下吧(注:此时连接的共享打
印机状态依然是“拒绝访问,不能打印”,但打印测试却是通过的。)
Linux:
在Linux中连接共享打印机稍微要麻烦一点,基本上是与连接Windows的打印机相
同,只不过此时在“后端选择”这一步时,不要选择“SMB共享打印机(Windows)”,而是要
选择“远程CUPS服务器”,如图所示:
在这里我选择普通用户,然后输入可以连接共享打印机的用户名与密码(匿名用户还未试过)
2008年3月18日4总页数:6
Windows中文站bbs.w
在主机空白处输入打印服务器的IP地址,端口号保持默认:631
后面只要想要连接打印服务器的共享打印、打印机的厂商与型号,再后面都基本上是属于“下
2008年3月18日5总页数:6
Windows中文站bbs.w
一步”、“下一步”就行了,就不赘述了。连接好后,测试打印OK。
2008年3月18日6总页数:6


发布评论