如何用以下要求写TE文件啊?
以自己名字创2个用户,一个允许执行passwd,一个不能
如何用以下要求写TE文件啊?
以自己名字创2个用户,一个允许执行passwd,一个不能
在SELinux中,用户策略是通过TE(Type Enforcement)模块来定义的。下面是一个简单的例子,演示如何创建两个用户,一个允许执行'passwd
创建TE模块文件:
创建一个名为'custom_users.te
module custom_users 1.0;
require {
type unconfined_t;
type shadow_t;
class passwd_exec_t;
}
# 允许执行passwd的用户类型
type passwd_exec_user_t;
# 不允许执行passwd的用户类型
type no_passwd_exec_user_t;
# 允许执行passwd的用户
allow passwd_exec_user_t shadow_t:passwd_exec_t;
# 不允许执行passwd的用户
dontaudit no_passwd_exec_user_t shadow_t:passwd_exec_t;
在这个例子中,我们定义了两个用户类型:'passwdno_passwd_exec_user_t,分别代表允许执行'passwdpasswd和不允许执行'passwdpasswd的用户。
编译和加载TE模块:
使用'checkmodulesemodule_package编译和加载TE模块:
checkmodule -M -m -o custom_users.mod custom_users.te
semodule_package -o custom_users.pp -m custom_users.mod
semodule -i custom_users.pp
创建两个用户:
sudo useradd -Z passwd_exec_user_t user1
sudo useradd -Z no_passwd_exec_user_t user2
这样,'user1passwd_exec_user_t用户类型,允许执行passwd,而user2将属于no_passwd_exec_user_t用户类型,不允许执行passwd。