专栏首页python3selinux-guide_part3

selinux-guide_part3

        先发上来的是第三部分,前面还有part2未整理好,下面一些内容是细细的读完文档之后的成果,对selinux是越来越感兴趣了。陆续更新中哦。 selinux contexts         系统里的文件和进程都打上的selinux 上下文标记,这些标记包含:selinux 用户,角色,类型,选项,等级。当系统运行selinux时,所有的这些信息来决定访问控制。在红帽子企业版中,selinux提供了一种组合了角色为基础的访问控制(RBAC),TYPE Enforcement,和混合等级安全(MSL)multi-level。        在linux 操作系统中用 :ls -Z flies  来查看文件和目录的selinux的上下文。 显示的语法如下:selinux user:role:type:level  linux user---->selinux policy---->selinux user policycoreutils-python装包。 [root@kikupotter ~]# semanage login -l 登录名                       SELinux 用户                MLS/MCS 范围               __default__               unconfined_u              s0s0:c0.c1023           root                      unconfined_u              s0-s0:c0.c1023           system_u                  system_u                  s0-s0:c0.c1023                       第一列的话是Linux user,第二列是selinux用户。第三列是mls/mcs的范围。这样的话linux user,通过selinux policy 于selinux user关联在一起,selinux user被限定在一定的role,和leave中运行进程。 role selinux的另一部分role-based access control security model(RBAC).role 就是RBAC的属性。 selinux user 要通过role的认证,而role 需要domain的认证。 role相当我momain与selinux user的中间人。这个role可以决定那个domain可以进去。最终,控制哪种类型的类可以通过,增加的安全性。 type type是type enforcement 的属性。 type为进程定义一个domain,为文件定义一个类型。 selinux policy rules定义了怎样的type可以相互访问,domain与type的互访,domain与domain的互访。    level level是mls和mcs的属性。 mls等级是连续的。像这样: lowlevel--highlevel。可以一样或不一样。s0-s0也可一表示成s0. 每个level都用一对sensitivity.category   sensitivity:category-set category c0.c3=c0,c1,c2,c3 mcs在红帽子系统里支持1024不同的种类。s0.s0:c0.c1023,sensitivity为s0可以通过任何的category. mls加强了强制访问控制,并且用于lspp环境。要用mls的限制功能要安装,selinux-policy-mls,配置mls为默认的selinux policy.mls 不支持x server所以在桌面环境不可用。 3.1 domain transitions        在一个域中的一个进程要过度到另一个域中通过运行程序的手段,这是需要另一个域的入口点的类型。这个入口点(entrypoint) [root@kikupotter ~]# ls -Z /usr/bin/passwd -rwsr-xr-x. root root system_u:object_r:passwd_exec_t:s0 /usr/bin/passwd A.用户想改密码。为了做这个他运行了passwd. passwd是运行在passwd_exec_t的类型下。 passwd程序通过/etc/shadow,shadow被表上了shadow_t的类型。 [root@kikupotter ~]# ls -Z /etc/shadow -r--------. root root system_u:object_r:shadow_t:s0    /etc/shadow B.有一条selinux policy rule生命:运行在passwd_t域内的进程可以允许其读写其他被标上shadow_t类型的文件。shadow_t只用在密码文件的类型中。 C.有一条selinux policy rules声明:passwd_t域对于passwd_exec_t 类型有entrypoint 许可证名。 D.当用户运行passwd程序。用户的 shell进程会过度到passwd_t的域内。passwd_t通过了shadow_t类型。 3.2 进程的上下文 ps -eZ [root@kikupotter ~]# ls -Z /usr/bin/passwd -rwsr-xr-x. root root system_u:object_r:passwd_exec_t:s0 /usr/bin/passwd [root@kikupotter ~]# ps -eZ | grep passwd unconfined_u:unconfined_r:passwd_t:s0-s0:c0.c1023 5870 pts/2 00:00:00 passwd 发现了,/usr/bin/passwd 文件是passwd_exec_t的类型,而运行命令后用户的shell进程迁移到了passwd_t域中。一定记住:type是定义进程的域,定义文件是类型。 system_r 的role是用在用系统进程的,如守护进程。type enforcement这是就来区分开domain. 3.3 用户的selinux的上下文 id -Z [root@kikupotter ~]# id -Z unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023       这个输出的意思是:在红帽子上,默认的linux用户实在unconfined下的。selinux 上下文说明了:这个用户与selinux unconfined_u 用户连在一起,作为unconfined_r 角色运行,并且在unconfined_t的域中运行。s0-s0是mls的范围,类型是c0.c1023,已经是所有类型了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用python3来生成安全的随机密码

    py3study
  • python模块之samba

    py3study
  • python 随机远程主机修改密码

    py3study
  • ubantu下su命令Authentication failure失败的解决方式

    Tencent JCoder
  • MySQL 慢日志线上问题分析及功能优化

    MySQL 慢日志(slow log)是 MySQL DBA 及其他开发、运维人员需经常关注的一类信息。使用慢日志可找出执行时间较长或未走索引等 SQL 语句,...

    吴生
  • 如何使用 tinypng 进行批量压缩

    不管是博客还是产品中,都会涉及图片的使用,但是如果图片体检太大,会影响使用体验,所以网上有各种各样的支持图片压缩的网站,tinypng 是其中的佼佼者。

    sylan215
  • Centos6.X 下安装并使用VNC的操作记录

    VNC是一个的"远程桌面"工具。,通常用于“图形界面”的方式登录服务器,可视化操作。废话不多说了,操作记录如下: 1)安装桌面环境 [root@vm01 ~]#...

    洗尽了浮华
  • Centos 6.9下部署Oracle 11G数据库环境的操作记录

    操作系统:Centos6.9(64Bit) Oracle:11g 、11.2.0.4.0版本 Ip地址:172.16.220.139 废话不多说了,下面记录安装...

    洗尽了浮华
  • 基础知识 | 每日一面(66)

    tern int func(float); int func(x) float x; { ...

    闫小林
  • element ui 上传文件,读取内容乱码解决

    deepcc

扫码关注云+社区

领取腾讯云代金券