linux开启cups服务,Linux中cups打印服务实战设置

这两天花了些时间研究了一下cups的打印设置,发现网上的资料说得不清不楚,于是决定把我的设置记录下来供大家将来参考。

我的LINUX是 redhat enterprise 3

在这篇文章中,假设CUPS打印服务器的主机名为: server, 打印机的主机名为: HP, 客户端主机名为: client。

首先,要启动CUPS打印服务,用下面这个命令:

/etc/init.d/cups start

然后在CUPS服务器主机server中,我们要做好2个文件的设置,这两个文件分别是:

/etc/cups/cupsd.conf

/etc/cups/printers.conf

其中,cupsd.conf是控制cups服务的设置,而printers.conf则是对打印机进行设置的。

设置这两个文件并不复杂,这里不建议手工修改,因为可以用web方式来设置,然后自动生成。

只要在本机的网页浏览器输入这个网址,就可以进入CUPS的web设置界面:

http://服务器主机名:631 例如: http://server:631

不过在这里,觉得需要介绍一下这两个文件里面的内容,这样对大家的理解会有好处。

而且,我发现如果要限制用户的话,好像还是需要手动修改printers.conf文件的。

cupsd.conf文件中的内容:

#================================

AuthType Basic

AuthClass System

Order Deny,Allow

Deny From All

Allow From 127.0.0.1

#上面这个部分是设定对CUPS服务管理的权限,一般只准许从本机进行对CUPS服务的修改控制。

#所以可以看到 allow地址是 127.0.0.1

Order Deny,Allow

Deny From All

Allow From All

#上面这个部分是对CUPS服务的功能权限默认设置,一般如此,没有什么特别的。

#

# End of "$Id: cupsd.conf.in,v 1.16 2004/08/18 17:53:47 mike Exp $".

#

# Lines below are automatically generated - DO NOT EDIT

#下面这部分是设置打印机在CUPS中的使用。因为服务器毕竟只是电脑,真正要打印还是通过打印机

#从设置看基本上也是全部使用权限开放,如果要限制IP地址区域的话,需要在Allow 后面进行设置。

#注意上面这一行,其中HP是打印机的名字,要和printers.cups中设置的一样才可以其作用。

Order Deny,Allow

Deny From All

AuthType None

Allow from All

#================================

printers.conf文件中的内容:

#================================

#下面这一行中的HP是打印机的名字,为方便设置,建议和打印机的网络主机名一致

Info Created by redhat-config-printer 0.6.x

DeviceURI lpd://HP/PORT1

State Idle

Accepting Yes

JobSheets none none

QuotaPeriod 0

PageLimit 0

KLimit 0

AllowUser root

AllowUser PETER

AllowUser SUSAN

#================================

这里,要重点说一下上面这部分中的黑体字那一行

DeviceURI lpd://HP/PORT1

这一行是定义打印机与CUPS服务器之间通过什么协议来连接,还有一些其它的候选协议如下:

file:/path/to/filename.prn

http://hostname:631/ipp/

http://hostname:631/ipp/port1

ipp://hostname/ipp/

ipp://hostname/ipp/port1

lpd://hostname/queue

socket://hostname

socket://hostname:9100

以上这些打印协议中,hostname指的是打印机的网络主机名,也可以用打印机的IP地址代替,631则是CUPS服务的端口号

这其中,port1一般是惠普打印机的默认queue,如果是多queue打印机,你可以通过ftp协议登陆到打印机上,然后看看打印机系统上根目录下有哪些目录,从中可以判断出queue的名字

这里要注意一个问题,因为我在实际操作中,发现 redhat-config-printer-gui 图形界面的打印机设置只支持 LPD 协议的打印机设置。也就是说,如果你采用 IPP, HTTP, 或者 socket,即使配置成功,测试页也可以打印,但是就是不可以使用 redhat-config-printer-gui 图形界面来对打印机进行进异步设置。为了方便起见,我建议大家还是选用 LPD 来设置CUPS服务器和打印机之间的连接。

还有 AllowUser 语句,通过这条语句,可以允许或限制特定用户的打印权限,假如没有这条语句,就是所有用户可以打印。

这条语句是需要手动添加的。

*注意每次通过redhat-config-printer-gui 图形界面进行设置后,AllowUser 语句都会被自动删掉,需要重新添加

另外有关于 cupsd.conf 文件的补充内容:

在做好上面的设置后,发现如果要限制IP网段的话,手工配置很麻烦,于是通过redhat-config-printer-gui图形界面来配置。

下面这一部分是采用redhat-config-printer-gui图形界面设置后自动在cupsd.conf文件产生的,不建议手动添加。

不过要注意的是,如果想要采用redhat-printer-config-gui图形界面来修改设置,在printers.conf文件中,网络打印协议要采用LPD协议:

#============================

Browsing On

BrowseProtocols cups

BrowseOrder Deny,Allow

BrowseAllow from @LOCAL

BrowseAddress 255.255.255.255

Listen *:631

#============================

这其中 Listen 语句是设定允许使用CUPS服务的网络限制的。"*"代表所有的网络

我在一些资料中看到,说是如果要设置网络区域,是要写成如下格式:

Listen 0.0.0.0:631

但实际上是错误的,如果写成象上面那样,会导致CUPS服务启动出错。

会给出如下的出错信息:Child exited with status: 98!

所以,正确方法还是用 *号代替所有网络。

至于其它区域段IP网络设置,大家可以通过 redhat-printer-config-gui图形界面中的 share 选项进行控制,非常方便,在此就不一一列举。

做完以上这些,重新启动一下CUPS服务就可以.

用 lpq.cups 命令看一下打印机的状态, 如果有 "HP is ready" 字样,就说明CUPS服务器设置成功了。

客户端设置:

前提是CUPS服务器的防火墙要打开,至少631端口号不能屏蔽。

客户端的设置非常简单,只需要配置一个文件:

/etc/cups/client.conf

client.conf文件内容:

#======================

#ServerName CUPS服务器地址或服务器名,例如:

ServerName server

#======================

的确是很简单吧,设置好后重启一下CUPS服务就可以了。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值