美文网首页@IT·互联网我用 Linux程序员
与selinux有关的一个报错解决

与selinux有关的一个报错解决

作者: 十二楼中月 | 来源:发表于2017-04-27 12:11 被阅读448次

    今日登录服务器查看到这条信息:

    提示信息
    查看信息得知是每日定时任务里面的错误:
    /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,提供身份识别,用来记录身份;安全上下文的一部分;

    1. 三种常见的 user:

    • user_u :普通用户登录系统后的预设;
    • system_u :开机过程中系统进程的预设;
    • root :root 登录后的预设;

    1. 在 targeted policy 中 users 不是很重要;
    2. 在strict policy 中比较重要,所有预设的 SELinux Users 都是以 “_u” 结尾的,root 除外。
      2 ROLE
    3. 文件、目录和设备的role:通常是 object_r;
    4. 程序的role:通常是 system_r;
    5. 用户的role:targeted policy为system_r; strict policy为sysadm_r、staff_r、user_r;用户的role,类似系统中的GID,不同角色具备不同的的权限;用户可以具备多个role;但是同一时间内只能使用一个role;
    6. 使用基于RBAC(Roles Based Access Control) 的strict和mls策略中,用来存储角色信息
      3 TYPE
    7. type:用来将主体(subject)和客体(object)划分为不同的组,给每个主体和系统中的客体定义了一个类型;为进程运行提供最低的权限环境;
    8. 当一个类型与执行中的进程相关联时,其type也称为domain;
    9. type是SElinux security context 中最重要的部位,是 SELinux Type Enforcement 的心脏,预设值以_t结尾;
      LEVEL和CATEGORY:定义层次和分类,只用于mls策略中
      • LEVEL:代表安全等级,目前已经定义的安全等级为s0-s15,等级越来越高
      • CATEGORY:代表分类,目前已经定义的分类为c0-c1023

    如果需要继续连接SELINUX的详细内容可以查看:
    SELinux深入理解

    相关文章

      网友评论

        本文标题:与selinux有关的一个报错解决

        本文链接:https://www.haomeiwen.com/subject/igvgzttx.html