完成创建两个登陆用户, 在SELinux 强制访问控制下, 一个可以执行passwd 命令修改口令, 一个不可以。 SELinux状态、模式的修改 SELinux用户创建与映射 SELinux安全上下文配置(TE语法,策略设置)
时间: 2024-03-26 21:38:58 浏览: 85
好的,我来分步骤详细说明一下。
1. 确认SELinux的状态和模式
首先,我们需要确认SELinux的状态和模式。可以使用命令`getenforce`查看SELinux的状态,命令`sestatus`查看SELinux的模式。
如果SELinux的状态是Enforcing,并且模式是Targeted,则表示SELinux处于强制访问控制模式,并且使用了预定义的策略。
2. 创建用户并映射到SELinux用户
创建用户可以使用命令`useradd`,例如:
```
sudo useradd user1
sudo useradd user2
```
然后,我们需要将这些用户映射到SELinux用户。可以使用命令`semanage login -a -s <SELinux用户类型> <Linux用户>`。例如:
```
sudo semanage login -a -s user_u user1
sudo semanage login -a -s user_u user2
```
这将为user1和user2创建SELinux用户,并将它们映射到Linux用户。
3. 配置SELinux策略
接下来,我们需要配置SELinux策略,以允许user1执行passwd命令,禁止user2执行passwd命令。
我们可以使用TE语法编写SELinux策略。例如,以下策略允许user1执行passwd命令:
```
policy_module(my_passwrd, 1.0)
require {
type user_t;
type passwd_exec_t;
class file execute;
}
allow user_t passwd_exec_t:file execute;
```
我们可以使用以下命令将此策略编译成二进制文件:
```
sudo checkmodule -M -m -o my_passwrd.mod my_passwrd.te
```
然后,将其打包成SELinux策略模块:
```
sudo semodule_package -o my_passwrd.pp -m my_passwrd.mod
```
最后,将该策略模块加载到SELinux策略中:
```
sudo semodule -i my_passwrd.pp
```
现在,user1可以执行passwd命令,而user2不能。
注意:以上步骤可能需要根据具体情况进行调整,以确保正确的配置和运行。
阅读全文
相关推荐















