我们可以将标准的linux用户映射到SElinux用户帐户。考虑我有一个名为“Steve”的标准linux用户。
现在,我有2个问题。
a。)如果我将“Steve”映射到user_u(SElinux帐户),那么他将获得$HOME & /tmp
目录的执行权限。我可以限制“Steve”在$ HOME或/ tmp中执行应用程序。我尝试在policy file (*.te)
中使用“neverallow”语句,并以下面的错误消息结束。
Error Message:
"libsepol.check_assertion_helper: neverallow violated by allow user_t bin_t:file { read getattr open };"
如何覆盖默认权限,例如user_u在SELinux中的$ HOME中具有执行权限?
b。)我创建了一个文件,并使用mytype_t
命令将其类型更改为“chcon
”。然后在我的政策中添加了“allow user_t mytype_t: file { read write execute };
”。我已将mytype_t添加到/etc/selinux/default/contexts/files/file_contexts & /etc/selinux/default/modules/active/file_context
。 “seinfo -t
”未列出mytype_t。
I could successfully create *.pp file. When I tried to install this policy using "semodule -i myPolicy.pp", I have ended with the following error message. It seems, mytype_t is not recognized by SElinux Policy.
Error Message:
libsepol.print_missing_requirements: user_execution_permission's global requirements were not met: type/attribute mytype_t (No such file or directory).
libsemanage.semanage_link_sandbox: Link packages failed (No such file or directory).
semodule: Failed!
简单地说,我只想创建用户“Steve”,他可以执行具有映射到SElinux用户帐户的标准Linux用户。例如,“Steve”是一个标准的linux用户帐户,可以映射到以下任何一个,例如user_u(或)staff_u(或)system_u(或)unconfined_u.ll文件,类型为“mytype_t”,位于系统的任何位置,但是不应该能够用其他类型执行应用程序。
我正在制作debian 6 with policy.24,在此先感谢您的帮助!