lp用户和组:
UNIX的每个程序的运行空间都会对应这一个用户和用户组,对于打印机来说,普通的打印用户是_lp,它有个别名lp,用下面命令可以查看lp是否存在:
dscl . list /users | grep lp
它的用户组也叫_lp:
dscl . list /groups | grep lp
运行下面的命令可以看到lp用户和组的信息:
dscl . read /users/lp
dscl . read /groups/lp
用户的GeneratedUID肯定是FFFFEEEE-DDDD-CCCC-BBBB-AAAA0000001A,用户组的GeneratedUID是ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000001A
大家知道CUPS是OS X内置的打印模块,它的软件程序部分在/usr/libexec/cups里面,而系统配置和每个打印机的配置存放在/etc/cups中,其中/etc/cups/ppd是每个打印机的配置文件。
打印机的部署:
安装完打印机驱动程序后,如果需要部署打印机到多台电脑,可以简单地复制/etc/cups中的相关文件来达到目的。相关的文件和目录有:
ppdprinters.conf
如果用命令lpoptions配置了打印参数,那么lpoptions文件存储这些信息。
如果改变了CUPS的内部设置,那么cupsd.conf会随之改变。
如果配置了SNMP,那么snmp.conf需要复制。
当然还要注意,这些文件所属的用户和用户组,/etc/cups/目录中,出了certs文件默认属于_lp:admin,其它的都是root:_lp。
当然修复完权限后,执行全盘权限修复是一个好主意:
diskutil repairPermissions /
当然可以使用lpadmin命令行来进行安装,虽然这种方法是系统支持的方法,不过管理员需要花费一定时间来设定打印机的参数配置,上面的方法更加快捷。目前为止,10.7和10.8之间不用考虑上述文件de版本,可以混用。
管理组:
如果没有记错,自从OS X 10.5.7之后,OSX系统对打印机的管理进行了一定的改进,内置了两个特殊的用户组,他们是lpadmin和lpoperator。
lpoperator组:
属于lpoperator组的用户可以暂停和重启打印机,而普通用户不行。这一点很重要,因为CUPS的内部配置问题,它会在尝试打印不成功多次后,把该打印机暂停,暂停后的打印机会把普通用户打印到该打印机的所有请求都存在队列中,而用户又无法恢复它,就需要又权限的用户处理。那么管理员给相应的用户组以这个权限,就可以减轻自己的工作。
根据用户组所属域的不同,使用不同命令来处理。
如果是AD/OD域的用户/组,那么使用dseditgroup,比如:
sudo dseditgroup -o edit -a "yourdomain\domain users" -t group _lpoperator
其中"yourdomain\domain users"换成适合你的环境的参数。
如果是本地用户组,就是用dscl,比如:
dscl . append /Groups/_lpoperator GroupMembership <username>
lpadmin组:
lpoperator组的限制是不能安装打印机,所以为了可以让用户自由安装打印机,就要把相应的用户/组加入到lpadmin里面,方法同lpoperator。
因为有了这两个组,方便了对用户/组的权限管理,在此之前是需要改变OSX系统配置authorization文件的,改动错误会造成整个系统瘫痪。
OSX: 灵活运用控制打印机的用户组,布布扣,bubuko.com
原文:http://blog.csdn.net/cneducation/article/details/22841381