Linux 拒绝许可

Linux 拒绝许可,linux,cups,Linux,Cups,在linux上运行CUPS 按预期打开显示CUPS概览页面 单击admin()会出现“内部服务器错误”,日志以以下内容结束: PID 5892(/usr/lib/cups/cgi-bin/admin.cgi)已停止,状态为113(权限被拒绝) 我可以从命令行运行/usr/lib/cups/cgi-bin/admin.cgi,不会出现任何问题,并获得一些输出 我查看了CUPS源代码:错误来自execv()。errno#13被拒绝许可。(由于某些原因,增加+100) 有什么建议吗?您的web服务

在linux上运行CUPS

  • 按预期打开显示CUPS概览页面
  • 单击admin()会出现“内部服务器错误”,日志以以下内容结束:

    PID 5892(/usr/lib/cups/cgi-bin/admin.cgi)已停止,状态为113(权限被拒绝)

  • 我可以从命令行运行/usr/lib/cups/cgi-bin/admin.cgi,不会出现任何问题,并获得一些输出

  • 我查看了CUPS源代码:错误来自execv()。errno#13被拒绝许可。(由于某些原因,增加+100)


有什么建议吗?

您的web服务器运行的用户没有执行
/usr/lib/cups/cgi-bin/admin.cgi
的权限。当您从命令行运行它时,您是以具有足够权限执行它的不同用户的身份执行它

检查web服务器运行的用户,并更改
/usr/lib/cups/cgi-bin/admin.cgi
的文件权限,以使web服务器可以访问该文件。您可以阅读有关文件权限的更多信息

注意。

在我的平台(基本操作系统/Ubuntu fork)上,CUPS软件包没有正确设置自己目录的权限。我需要更改/usr/lib/cups上的权限才能正常工作:

sudo chmod 755 /usr/lib/cups
我不必重新启动服务——这纯粹是权限问题。我还不能通过GUI添加打印机(目前),并且假设还涉及到其他潜在问题——例如,CUPS目录结构中的所有文件都是root:root拥有的。。。可能p“组需要在那里的某个地方。

  • 找到原因:未设置文件系统的权限
  • 详细信息:某些文件属于不存在的用户。这是生成系统并安装某些组件的用户
  • 修复:为整个树设置正确的权限,甚至不为某些子文件夹设置权限
设置用户权限:

chown -R root:root /usr
chown -R root:root /shared

以前我试过使用
chown-R root:root/usr/etc/cups
,但这还不够。

这是我的假设。但使用ps时,我看到/usr/sbin/cupsd以root身份运行。在日志中,子流程的环境打印为:“D[10/Sep/2015:11:43:41+0200][CGI envp 14]=”USER=root“'我目前不在Linux上,所以我无法检查,但我非常怀疑cupsd是否是web服务器,因为这只是一个打印命令,请仔细查看cups的web服务器是我们执行admin.cgi的web服务器的哪一部分,并检查其权限。cups是web服务器。对于大多数用例来说,几个sprintfs的html标记就足够了。这里不需要大锤。论坛不对,与编程无关。我从源代码中编译了cups并应用了一些补丁。但是开发板的未修改版本没有任何问题。因此,我在这里提出了一个问题:这种尝试是否会改变文件系统中每个文件的所有权?这似乎是个很糟糕的主意。你说得对。我修改了我的答案。