增强安全性带来的负作用往往是牺牲便利性,就像北京地铁的安检一样,但有些时候我们确实需要它。
 
案例是,用户有一台安装了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的两篇文章
 

最新文章

  1. Android 5.X新特性之为RecyclerView添加HeaderView和FooterView
  2. 浅析 Android 的窗口
  3. 【总结】Javascript基础
  4. .Net 转战 Android 4.4 日常笔记目录
  5. IOS开发之简单音频播放器
  6. python的闭包与装饰器
  7. javascript - 图片的幻灯片效果
  8. 在外国网站上看到一个用artoolKit做的demo,学习了用gcd创建单列
  9. Java中String、StringBuffer、StringBuilder和toString的介绍
  10. Java Fuck Bignumber
  11. iOS中 最新微信支付/最全的微信支付教程详解 韩俊强的博客
  12. 新手篇丨Python任意网段Web端口信息探测工具
  13. 【Vue】IView之table组件化学习(二)
  14. Oracle中row_number()、rank()、dense_rank() 的区别
  15. Pandas数据的去重,替换和离散化,异常值的检测
  16. python全栈开发day43-javascript
  17. 一群猴子排成一圈,按1,2,...,n依次编号
  18. vue-8-组件
  19. shell日常实战练习——通过监视用户登陆找到入侵者
  20. [Go] panic 和 recover

热门文章

  1. (转)互联网保险O2O平台微服务架构设计
  2. ie8中支持 password 的 placeholder
  3. [Guava源码分析]ImmutableCollection:不可变集合
  4. Ping N个IP测试网络连通性
  5. mvc涉及到input设置了disabled
  6. MySQL语法语句大全
  7. 数据库操作类util
  8. ASP.NET MVC4学习笔记路由系统概念与应用篇
  9. 【转】Linux Framebuffer
  10. 【笔记】W3C CSS关键属性