2 FreeBSD handbook中文版 11 打印 高级打印机设置 B.Header Pages( 六 )


关键词关闭lpr 命令的-# 参数 。如此,当使用者尝试以-# 参数送出工作时,它们将看到:
lpr: multiple copies are not allowed
注意,如果你允许从远程使用你的打印机(请阅读安装远程机器上的打印机这一节),那
第51 页FreeBSD 使用手册
么你得在远程机器上的/etc/printcap 文件里也设置sc 关键词,否则使用者仍然可以从远
程的机器上要求打印多份 。
这里有一个例子 。这是rose 这台机器的/etc/printcap 设置文件 。rattan 这台打印机
十分强大,所以我们允许在它上面打印多份,但是bamboo 这台激光打印机有点弱小,因此
我们在它上面设置了sc 关键词,不允许打印多份:
#
# /etc/printcap for host rose - restrict multiple copies on bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
:sh:sd=/var/spool/lpd/rattan:
:lp=/dev/lpt0:
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
:sh:sd=/var/spool/lpd/bamboo:sc:
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:
:if=/usr/local/libexec/psif:
:df=/usr/local/libexec/psdf:
然后,我们也需要在orchid 这台机器上的/etc/printcap 设置文件里为网络打印机加
上sc 关键词(同时,我们也不允许使用者用teak 这台打印机来做打印多份的工作):
#
# /etc/printcap for host orchid - no multiple copies for local
# printer teak or remote printer bamboo
teak|hp|laserjet|Hewlett Packard LaserJet 3Si:
:lp=/dev/lpt0:sd=/var/spool/lpd/teak:mx#0:sc:
:if=/usr/local/libexec/ifhp:
:vf=/usr/local/libexec/vfhp:
:of=/usr/local/libexec/ofhp:
rattan|line|diablo|lp|Diablo 630 Line Printer:
第52 页FreeBSD 使用手册
:lp=:rm=rose:rp=rattan:sd=/var/spool/lpd/rattan:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
:lp=:rm=rose:rp=bamboo:sd=/var/spool/lpd/bamboo:sc:
使用sc 关键词之后,我们可以防止使用者使用lpr -#,但是无法防止使用者执行多次
lpr,或是在一个工作里将同样的文件送好几次,像这样:
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:
:if=/usr/local/libexec/psif:
% lpr forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign
有很多方式可以防止这个滥用(包括忽略它),你可以自己尝试看看 。
11.4.4.2 限制访问打印机
你可以使用Unix 下群组的机制及/etc/printcap 设置文件的rg 关键词来控制谁可以
使用哪台打印机 。只要将允许访问打印机的使用者放在某一个群组中,然后用rg 关键词指
定这个群组名称即可 。
在这个群组之外的使用者(包括root)将会看到“lpr: Not a member of the restricted
group” 如果它们尝试使用被限制使用的打印机 。和sc (禁止打印多份)一样,如果你觉得
需要限制远程使用者使用你的打印机,你也得在远程机器上的设置文件里设置rg 关键词 。
(请阅读安装远程机器上的打印机这一节) 。
我们将让所有人都可以使用rattan 这台打印机,但是只有在artists 群组里的人可以
使用bamboo 这台打印机 。下面是rose 这台机器的/etc/printcap 设置文件:
#
# /etc/printcap for host rose - restricted group for bamboo
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
:sh:sd=/var/spool/lpd/rattan:
:lp=/dev/lpt0:
:if=/usr/local/libexec/if-simple:
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:
第53 页FreeBSD 使用手册
:df=/usr/local/libexec/psdf:
我们在这里不修改其它的/etc/printcap 设置文件(比如说orchid 机器上的) 。这么一来,
所有orchid 机器上的使用者都可以用bamboo 来打印 。通常这种情况是因为orchid 上的使
用者不多且希望它们都可以访问打印机 。
注意: 每个打印机只能使用一个群组名称来做限制 。

推荐阅读