本文谈论CUPS打印系统、SSH和防火墙规则。欢迎回到使用单点登陆和企业目录的最后一篇文章,我们已经对如何设置企业基础架构以及如何将各种运行不同操作系统的客户端插入到这个架构中做了细致的描述,这对大多数用户来说很受益,他们可以使用各种各样的资源,
如存储共享、打印机、电子邮件等等。本月,我们涉及到的是如何使用Kerberos和LDAP使得你的工作更加简单,跟往常一样,样本程序和其他文件都提供下载,本文涉及到的这些资源在ftp://ftp.ssc.com/pub/lj/listings/issue143/8377.tgz包中。
统一打印更容易
无论你的企业大小,打印总是必需的,不幸的是,打印总是一个容易出错的过程,特别是在一个异构环境中,幸运的是,CUPS(通用UNIX打印系统)项目已经成立了,CUPS的目标是提供一个基于标准的打印解决方案以及为基于UNIX的系统提供统一打印方案,今天,它已经是大多数Linux发行版以及Apple OS X默认的打印系统。
使用CUPS设置一个基本的打印服务器是很简单的,为了理解和安装CUPS,你应该阅读Colin Topliss的文章“Centralized Printing Using CUPS”【使用CUPS实现统一打印】,该文链接:http://www.linuxjournal.com/article/7511。如果你想让windows客户端也能使用CUPS进行打印,请确保在一个Samba服务器上配置CUPS,我们将马上谈到这个事情。
在配置好你的打印服务器后的第一件事情是使用SSL启用加密,你应该创建一个证书签名请求,或CSR,然后在你的CA上给它签名,将证书和密钥分别作为cups-cert.pem和cups-key.pem保存到/etc/ssl/cups目录下,同时,确认它们属于cupsd进程使用的用户(通常是lp),并且确认对私钥设置了正确的权限(0400),接下来,对/etc/cups/cupsd.conf文件做一下改变:
ServerCertficate /etc/ssl/cups/cups-cert.pem
ServerKey /etc/ssl/cups/cups-key.pem
保存你的更改并重新启动cupsd进程。
跟踪你的打印资源使用情况
打印管理的最困难的任务是跟踪所有的打印机使用情况,所有的打印机放在一个中央的位置是不可能的,目前更多的情况是分散在各个办公室,一般都装配在员工的工作站上,而且更糟糕的是,这些打印机生产厂家不同,型号也不同,这给组织它们带来了越来越大的挑战。
CUPS网站(http://www.cups.org/)上说预计将在1.3版本中提供对LDAP的支持。1.1版本是目前最稳定的版本,1.2版本已经做了一段时间的测试,但是,这并不能阻止我们使用LDAP来编目所有的打印机,甚至提供一个自动将打印机添加到CUPS服务器的办法。
IETF【互联网工程任务组】已经开始考虑这个了并已经开发出了RFC 3712--“轻量级目录访问协议(LDAP):打印服务方案”。我已经将这个RFC转换成一个真实的使用OpenLDAP的方案,参见http://rfc.net/rfc3712.html,在你的slapd.conf文件中包括这个方案并重新启动slapd进程,现在我们可以添加关于我们打印机的信息了:
dn: ou=printers,o=ci,dc=example,dc=com objectClass: organizationalUnit ou=printers dn: printer-name=pr-laser,ou=printers,o=ci,dc=example,dc=com objectClass: top objectClass: printerAbstract objectClass: printerService objectClass: printerIPP printer-name: pr-laser printer-location: A101 printer-info: laserjet.ppd printer-more-info: http://www.hp.com printer-make-and-model: HP LaserJet printer-uri: socket://pr-laser.example.com |
这些内容大多数不需要解释就能明白,但是printer-info和printer-uri可能需要一点解释,我们使用printer-info属性来指定PostScript打印机定义,为这台打印机指定的是PPD,在这个例子中是laserjet.ppd;printer-uri属性用来定义联系打印机的URI,socket://设备通常用于HP JetDirect连接到一个打印机,要查找你的打印服务器支持的所有打印机设备,使用lpinfo命令,它通常放在/usr/sbin目录下:
# /usr/sbin/lpinfo -v network socket direct hal network http network ipp network lpd direct scsi serial serial:/dev/ttyS0?baud=115200 direct usb:/dev/usb/lp0 network smb |
你的输出可能不同,这取决于在编译CUPS时启用了哪些选项。现在在你的LDAP中已经有一个打印机列表了,但是你能用它做什么呢?因为CUPS还不支持LDAP,至少,你有一个集中的地方来跟踪你所有的打印机及它们的使用情况了,我写了一个小的Perl脚本来查询LDAP目录中所有的打印机,然后创建一个脚本将所有打印机添加到CUPS服务器上,它不能做更多的事情,但是它给你提供了如何使用LDAP作为CUPS的一个补充的开始,并且使得管理更容易一些了,如果打算使用一些其他属性,如printer-sides-supported, printer-finishings-supported和printer-media-supported,你可以容易地扩展这个脚本,调用lp选项自动设置printer-特殊属性。
进入讨论组讨论。相关专题
- 高手支招 详解注册表与系统安全 (242次浏览)
- 百毒不侵 安全手段让电脑轻松过春节 (193次浏览)
- Windows安全经验之预防病毒的八个忠告 (100次浏览)
- 最安全的打开U盘的方法 (81次浏览)
- 艳照门启示录:要给电脑“洗澡” (61次浏览)
- “艳照门”警钟!编辑教你保护个人隐私 (54次浏览)
- 系统安全:剿清删不掉的DLL木马 (51次浏览)
- 木马程序是如何实现隐藏的 (50次浏览)
- 让电脑裸奔 制作百毒不侵的Windows系统 (46次浏览)
- 九大策略 保护用户计算机远离黑客骚扰 (36次浏览)



