今日登录服务器查看到这条信息:
查看信息得知是每日定时任务里面的错误:
/usr/bin/updatedb: can not open `/etc/updatedb.conf': Permission denied
原本以为是updatedb.conf的权限问题,修改为如下权限之后还是出现故障。
最后在网上找到说可能和SELINUX的上下文权限有关。需要修改下就可以了。
此处出现restorecon的命令,另外关于上下文权限还有个命令chcon
ls -lZ /etc/updatedb.conf
restorecon -RFv /etc/updatedb.conf
这些设置与selinux有关:
有关上面的unconfined_u:object_r:user_tmp_t:s0的含义请看下文:
一个安全上下文由三部分组成:用户、角色和类型标识符。常常用下面的格式指定或显示安全上下文:
USER:ROLE:TYPE[LEVEL[:CATEGORY]]
1 USER
1)user identity:类似Linux系统中的UID,提供身份识别,用来记录身份;安全上下文的一部分;
- 三种常见的 user:
• user_u :普通用户登录系统后的预设;
• system_u :开机过程中系统进程的预设;
• root :root 登录后的预设;
- 在 targeted policy 中 users 不是很重要;
- 在strict policy 中比较重要,所有预设的 SELinux Users 都是以 “_u” 结尾的,root 除外。
2 ROLE - 文件、目录和设备的role:通常是 object_r;
- 程序的role:通常是 system_r;
- 用户的role:targeted policy为system_r; strict policy为sysadm_r、staff_r、user_r;用户的role,类似系统中的GID,不同角色具备不同的的权限;用户可以具备多个role;但是同一时间内只能使用一个role;
- 使用基于RBAC(Roles Based Access Control) 的strict和mls策略中,用来存储角色信息
3 TYPE - type:用来将主体(subject)和客体(object)划分为不同的组,给每个主体和系统中的客体定义了一个类型;为进程运行提供最低的权限环境;
- 当一个类型与执行中的进程相关联时,其type也称为domain;
- type是SElinux security context 中最重要的部位,是 SELinux Type Enforcement 的心脏,预设值以_t结尾;
LEVEL和CATEGORY:定义层次和分类,只用于mls策略中
• LEVEL:代表安全等级,目前已经定义的安全等级为s0-s15,等级越来越高
• CATEGORY:代表分类,目前已经定义的分类为c0-c1023
如果需要继续连接SELINUX的详细内容可以查看:
SELinux深入理解