zoukankan      html  css  js  c++  java
  • 因SELinux引起的用户登录问题解决案例

    增强安全性带来的负作用往往是牺牲便利性,就像北京地铁的安检一样,但有些时候我们确实需要它。
     
    案例是,用户有一台安装了KylinOS(国产麒麟,使用的是redhat的内核)的系统,当我们对其系统文件进行备份,然后再进行恢复后,出现的现像是所有用户登录不了。即输入用户名密码,验证通过,但立即又被弹出。而同样的操作针对Redhat,其它版本,甚至麒麟的前一段都是正常的。
    中间经过一周的各种方法偿试就不提了。
     
    最终的原因是麒麟因为是对政府和军队设计的,所以在安全性上有所增强,即其selinux模块,不能被禁止,
    而当我们将系统文件复制备份出来,再还原的时候,文件所带的selinux tag失效了。
    查看selinux tag 
     
    常见的属于 coreutils 的工具如 ps、ls 等等,可以通过增加 Z 选项的方式获知 SELinux 方面的信息。
     
    如 ps auxZ | grep lldpad
     
    system_u:system_r:initrc_t:s0 root 1000 8.9 0.0 3040 668 ? Ss 21:01 6:08 /usr/sbin/lldpad -d
     
    如 ls -Z /usr/lib/xulrunner-2/libmozjs.so
     
    -rwxr-xr-x. root root system_u:object_r:lib_t:s0 /usr/lib/xulrunner-2/libmozjs.
     
    selinux中的文件被复制后上文件黑体部分往往会出现变化,
     
    这时使用restorecon 命令即可恢复文件的selinux标签
     
    resorecon -R /
     
    获取selinux影响的模块列表
    getsepool -a 
     
    关闭或打开模块
    setsebool -P allow_rsync_anon_write=1
     
    编辑selinux相关文件属性
    chcon -t public_content_t /var/rsync
     
     
    关于selinux入门,可以参考
    http://linuxtoy.org/archives/selinux-introduction.html
    还有IBM DW的两篇文章
     
  • 相关阅读:
    抽象类与接口的区别
    模板模式(Template Pattern)
    KVM虚拟化
    find文本处理(locate)实例学习记录
    AWK-文本处理测试实例记录
    Linux系统中如何查找大文件
    吞吐量和Iops、测试工具FIO使用
    linux了解
    了解docker
    语言资源国际化
  • 原文地址:https://www.cnblogs.com/biangbiang/p/3159192.html
Copyright © 2011-2022 走看看