如果没有 setuid root,Solaris 10 sendmail 将无法执行 /etc/aliases 中的程序

如果没有 setuid root,Solaris 10 sendmail 将无法执行 /etc/aliases 中的程序

我有一个程序,当收到电子邮件时,它会通过使用 /etc/aliases 调用该程序。到目前为止,让 sendmail 执行此程序的唯一方法是将 setuid 位设置为 root。即使对另一个组设置了读取/执行权限,sendmail 仍无法执行我的程序,除非将 setuid 位设置为 root。

我发现 sendmail 在 Solaris 10 上以守护进程用户身份运行。

我想避免在我的可执行文件上使用 setuid root,并让 sendmail 执行我的程序。我在正确设置权限时是否遗漏了什么?

答案1

二进制 setuid 是根还是 setuid“守护进程”?

尝试将二进制文件的所有者更改为“守护进程”。根据文档,这可能有效(强调添加);

当对可执行文件设置 setuid(设置用户标识)权限时,运行此文件的进程根据文件所有者授予访问权限(通常是 root)而不是创建进程的用户。此权限使用户可以访问通常只有所有者才能访问的文件和目录。

@Daywalker 如上所述,“ sudo”不随 Solaris 10 提供。但是有“ pfexec”(c0t0d0.org 上的快速操作方法

相关内容