0

操作系统:RHEL6 和 CentOS6

当启动诸如 ntpd ( /etc/init.d/ntpd start) 之类的服务时,该进程将具有 selinux 上下文:

system_u:system_r:ntpd_t:s0

如果我有一个 cgi,它是 root 的 setuid,它允许通过 Web 界面停止/启动服务,当通过这个 cgi(执行相同/etc/init.d/ntpd start)启动时,该进程具有 selinux 上下文:

system_u:system_r:httpd_t:s0

我的 cgi 文件 selinux 上下文:

system_u:system_r:unconfined_exec_t:s0

当服务通过执行/etc/init.d script启动服务的 httpd/cgi suid 进程启动时,我该如何做到这一点,该进程的类型是否正确?(ntpd_t在这个例子中)

4

1 回答 1

0

原因是 SELinux 中的域之间存在转换,因此它意味着哪个进程和什么上下文类型运行/启动什么进程和从什么文件(什么 SELinux 上下文)。所以 sysV 或 systemd 默认从 systemd_t 或类似的东西启动服务,但您的 Web 服务器尝试从 httpd_t 启动服务。谷歌如何在 SELinux 中更改域。

于 2013-06-15T20:00:32.917 回答