[原]cups权限控制

作者: 锦城牛仔 | 来源:发表于2019-08-20 11:21 被阅读0次

CUPS作为类Unix系统下通用打印系统,权限控制采用Unix本身的文件权限控制(用户、用户组,rwx),再加上CUPS自身实现的权限控制,来满足不同层面的权限控制需求。

1. Unix文件权限控制

由于CUPS中filter和backend都是作为命令行程序出现的,特别是backend具有写文件的能力,所以一般情况下backend都是0700权限,而filter是0755权限。防止被篡改,被非法执行。

2. 通过cupsd.conf配置Policy进行操作权限管理

https://www.cups.org/doc/policies.html

英文过关的可以参考上面网页的说明。

简单说明下,在cupsd.conf中,通过<Policy>标签来配置权限,可以指定Policy的名称,比如<Policy usb-printer-policy>,其中usb-printer-policy就是指定的名称。

每个Policy标签中,可以配置<Limit>标签来进行权限控制。

<Limit Create-Job Print-Job Print-URI Validate-Job>

  Require user @SYSTEM

  Order allow,deny

</Limit>

上面这个Limit标签表示,Create-Job(创建打印任务)、Print-Job、Print-URI和Validate-Job都需要@SYSTEM定义的用户组所属的用户才能执行。其中@SYSTEM是定义在cups-file.conf文件中的SystemGroup

# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules...

SystemGroup lpadmin root

Limit标签中,如何限定用户,可以参考下图

将cupsd.conf中配置好的policy分配给指定打印机

lpadmin -p LaserJet4000 -o printer-op-policy=usb-printer-policy

-p LaserJet4000是打印机

-o printer-op-policy=usb-printer-policy中,usb-printer-policy是自建的policy

3. 本地或远程打开web interface

只能允许本地打开

Listen localhost:631

禁止使用web interface

WebInterface No

这样配置后,即使通过localhost:631本地访问,也无法查看和管理打印机,只能查看CUPS文档。

4. 通过cupsd.conf中配置<Location>标签来管理权限,用于类似于<Limit>标签中的配置

<Location /admin>

  Order allow,deny

  Allow all

</Location>

配置所有用户都可以进行CUPS管理操作。

5. 配置打印机是否可见

lpadmin -p LaserJet4000 -u allow:root,@lpadmin

-u allow:root,@lpadmin 表示允许root用户,@lpadmin用户组所属用户使用该打印机;其他用户将无法访问该打印机

相关文章

  • [原]cups权限控制

    CUPS作为类Unix系统下通用打印系统,权限控制采用Unix本身的文件权限控制(用户、用户组,rwx),再加上C...

  • Raspberry Pi 打印

    安装 CUPS 分配一下系统权限 打开浏览器访问 127.0.0.1:631 在 Administration 菜...

  • Vue权限控制

    需求 页面级别权限控制1.URL路由权限控制2.导航菜单权限控制3.超链接权限控制 元素界别权限控制1.按钮元素权...

  • [原]CUPS-PDF编译安装

    CUPS相关知识,并尝试搭建驱动开发环境。由于目前没有实体打印机,使用cups-pdf打印机代替。 开发环境: L...

  • 【黑马程序员济南校区】权限控制方式讲解

    【济南校区】权限控制方式讲解 权限控制两种主要的方式:细粒度方法级别的权限控制、粗粒度URL级别权限控制 1.1细...

  • Pycups 安装

    2017/11/16 fatal error: cups/cups.h: No such file or dire...

  • django进阶技巧

    权限控制 在有较多方法需要权限控制时:可使用权限控制中间件,permissionMiddleWare 在只有少量方...

  • Linux 安装打印机

    2017/05/30 安装 Cups 安装 hplip apt-get install hplip 配置Cups ...

  • Java基础学习六 关键字

    java语言中的访问控制权限修饰符 访问控制权限修饰来控制元素的访问范围。 访问控制权限修饰符包括:public ...

  • php系列(五)权限控制的思考

    权限控制 说到权限控制,有人不明白为什么要单独设计权限模块,难道不能直接在代码里面直接写死一些权限的控制吗? 是的...

网友评论

    本文标题:[原]cups权限控制

    本文链接:https://www.haomeiwen.com/subject/ydiusctx.html