- 论坛徽章:
- 3
|
回复 34# chenxiaoping020
建立SELinux User,并建立映射。
环境:CentOS 2.6内核。Policy type: Targeted. 必要工具:semodule等均可通过rpm获得。
1.编写一个.te策略脚本 kiongf.te
policy_module(kiongf_user, 1.0)
role kiongf_user_r;
userdom_restricted_user_template(kiongf_user) # template接口,这里用于初始化一个selinux用户的权限:其中包括声明kiongf_user_t,并关联kiongf_user_r和kiongf_user_t
2.编译 make -f /usr/share/selinux/devel/Makefile #生成kiongf.pp文件
3. semodule -i kiongf.pp #以模块形式连接成到policydb
4. semanage user -a -R kiongf_user_r kiongf_user_u #新增一个kiongf_user_u selinux user
5. semanage user -l #查看是否正确建立
6. useradd kiongf #增加linux用户
7. passwd kiongf # 密码
8. semanage login -a -s kiongf_user_u kiongf #映射
9. semanage login -l #查看映射
10. echo “kiongf_user_r:kiongf_user_t" >> /etc/selinux/targeted/contexts/default_type #告知(?)这个SC是正确的
11. echo """ system_r:sshd_t:s0 kiongf_user_r:kiongf_user_t:s0
system_r:local_login_t:s0 kiongf_user_r:kiongf_user_t:s0
""" > /etc/selinux/targeted/contexts/users/kiongf_user_u # 使用ssh或login登录时,切换到kiongf_user_u:kiongf_user_r:kiongf_uesr_t
12. init 3 #切换到字符终端
13. 输入用户名和密码,提示是否使用其他SC时,选否。(如果有多个SC时,也可以进行更改)
14. id -Z # 显示的就是kiongf_user_u:kiongf_user_r:kiongf_user_t了。 没有特殊的域转换规则,当前用户运行的程序都继承这个id的SC。
无论你有多少Linux用户,你只要映射他们到相应SELinux User中,就可以确保他们获得你预定的权限。
|
|