centos7系统我们用到的不多但是这款系统比centos6功能要强大了不少,下文来介绍一篇centos7下cups + samba,共打印服务的例子,具体如下所示。

这个算是rhce课程的篇外篇,Samba除了提供文件共享外,也可以像windows下的共享一样提供打印机共享。在进一步深入之前,先了解下CUPS服务,cu​​ps​​作为Linux下管理打印的服务应用,其支持IPP、LPD、SMB和JetDirect接口。cups服务本身也可以实现打印共享,不过在windows下增加cups共享打印机的步骤相对不麻烦,可以利用Samba先连接本地cups服务,再由samba提供打印共享服务。

一、cups服务配置


1、安装cups相关软件包

# yum -y install cups

2、编辑cups服务配置

# vim /etc/cups/cupsd.conf  #将Listen localhost:631修改为  Listen 0.0.0.0:631           //监听所有IP  #默认是不允许远程主机浏览器打开访问的,这里将allow、deny顺序对调下,或者后面加allow from *  <Location />    #Order allow,deny   //默认配置部分    Order deny,allow     //修改后的内容  </Location>  #设置admin项只允许某台主机或某段主机访问  <Location /admin>    Order deny,allow    deny from all    allow from  192.168.1.*  </Location>

3、防火墙配置

# firewall-cmd --permanent --add-port=631/tcp # firewall-cmd --reload

4、浏览器配置新增打印机


可以通过lpadmin命令新增打印机,也可以通过浏览器输入http://IP:631后访问,如下图:


通过add printer增加打印机后(增加时会让输入主机的root用户名和密码),可以通过最上面的prints项,查看当前打列机列表:



二、Samba服务配置


按照上两篇的介绍开启Samba服务,在global 全局配置中开启如下两行(默认这两行是开启的):

security = user map to guest = Bad User load printers = yes cups options = raw


并在共享项中启用如下部分(默认配置中也存在):

[printers]          comment = All Printers          path = /var/spool/samba          browseable = no          guest ok = no          writable = no          printable = yes

配置完成后,systemctl retart nmb smb ,重启这两个服务使新的配置生效。在windows主机上通过运行中输入\\192.168.1.200即可查看当前的共享项,可以从中找到当前共享的打印主机列表:



双击打印机,确定安装相应的驱动后,就可以在本机选择打印机并进行打印。


总结:


目前由于打印机成本较低,主流的打印机都是网络打印机,一般情况下是用不到samba+cups进行配置的,这种方案主要是用在公司具有多台打印机、USB的、串口的、网络的,而多个不同的部分可能有具有不可跨越的IP段,这时候可以通过一台samba+cups服务器通过配置多块网卡和接口的方式实现集中式的管理,这样各个不同的部分都可以连接使用。另外打印机部分也同样适用权限控制。