首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

经过两个案例初步了解Linux下selinux的安全机制工作机制

2014-01-22 
通过两个案例初步了解Linux下selinux的安全机制工作机制一般可以通过getenforce查看selinux的运行级别.也

通过两个案例初步了解Linux下selinux的安全机制工作机制

一般可以通过getenforce查看selinux的运行级别.也可以通过setenforce 0 或者1 设置selinux的运行级别,级别0表示Permissive模式,级别1表示Enforcing模式. 至于disabled模式和其他模式的切换只能修改配置文件,命令不起作用.其次,修改完成之后,必须重启系统才能够生效.

经过两个案例初步了解Linux下selinux的安全机制工作机制

如果想通过一些命令管理selinux,必须安装setroubleshoot包.光盘里有,直接安装即可.由于存在很多依赖关系,建议创建yum源指向光盘,然后通过yum安装.

经过两个案例初步了解Linux下selinux的安全机制工作机制

经过两个案例初步了解Linux下selinux的安全机制工作机制

接下来我们通过两个案例初步链接selinux的安全机制

案例一:vsftpd在selinux的Enforcing模式下 普通用户访问不了的处理办法.

安装vsftpd包,为客户端提供ftp服务,默认rhel6桌面安装会自动安装vsftpd服务,如果没有安装通过rpm命令或者构建yum源安装,安装完成之后,启用vsftpd服务.

经过两个案例初步了解Linux下selinux的安全机制工作机制

默认情况下,linux里面普通用户的ftp访问目录为用户的宿主目录,为了方面测试,创建几个文件,并且起初设置selinux模式为permissive模式。

经过两个案例初步了解Linux下selinux的安全机制工作机制

在客户机windows上通过ftp://192.168.100.101/访问,然后输入普通用户的用户名及密码,即可访问到这个用户的宿主目录.

经过两个案例初步了解Linux下selinux的安全机制工作机制

现在我们设置selinux模式为Enforcing模式

经过两个案例初步了解Linux下selinux的安全机制工作机制

再次通过普通用户访问,发现访问失败.这是为什么呢,这是受到了selinux的布尔值的影响.

经过两个案例初步了解Linux下selinux的安全机制工作机制

可以看得出是selinux在作怪,我们可以通过man ftpd_selinux 查看ftpd的selinux访问策略.

经过两个案例初步了解Linux下selinux的安全机制工作机制

通过man注释可以看到命令 “setsebool –P ftp_home_dir 1”可以开放这个策略

经过两个案例初步了解Linux下selinux的安全机制工作机制

我们也可以通过getsebool –a命令查看所有selinux管理的所有服务访问策略情况(布尔值),ftp_home_dir默认为off关闭状态,也就是不允许通过的意思.

经过两个案例初步了解Linux下selinux的安全机制工作机制

通过setsebool –P ftp_home_dir 1开启ftp_home_dir布尔值.

经过两个案例初步了解Linux下selinux的安全机制工作机制

再次访问就可以实现了

经过两个案例初步了解Linux下selinux的安全机制工作机制

案例二:在Linux selinux开启enforcing的模式下,开启web服务,将其他地方的网站主配置信息index.html copy到网站的根目录访问不了的处理办法.

安装httpd软件包,默认rhel6.3桌面版本已经安装了apache的软件包httpd

经过两个案例初步了解Linux下selinux的安全机制工作机制

默认情况下,在/var/www/html/目录下没有网站的数据,访问会显示以下信息.

经过两个案例初步了解Linux下selinux的安全机制工作机制

我们在这个目录下写一个主页index.html

经过两个案例初步了解Linux下selinux的安全机制工作机制

开启selinux到enforcing模式,可以通过web浏览器访问.

经过两个案例初步了解Linux下selinux的安全机制工作机制

经过两个案例初步了解Linux下selinux的安全机制工作机制

我们从其它目录比如/root目录下写一个index.html文件copy到httpd的根目录下

经过两个案例初步了解Linux下selinux的安全机制工作机制

设置selinux级别为permissive模式,可以访问.

经过两个案例初步了解Linux下selinux的安全机制工作机制

设置selinux模式为Enforcing模式,却不能访问了,这是为什么呢?这是受到了了selinux的context值的影响.

经过两个案例初步了解Linux下selinux的安全机制工作机制

经过两个案例初步了解Linux下selinux的安全机制工作机制

我们可以通过ls –Z 可以查看文件的context值如下.默认情况下在任何一个目录创建文档会继承上级目录的context值, 可以看出来index.html的context值继承的是/root目录的context值,而在/var/www/html/目录下创建文件默认的context值为httpd_sys_content

经过两个案例初步了解Linux下selinux的安全机制工作机制

我们可以通过 chcon –t命令修改index.html的context值

经过两个案例初步了解Linux下selinux的安全机制工作机制

修改完成之后,即可实现访问.

经过两个案例初步了解Linux下selinux的安全机制工作机制

总计:通过以上两个简单案例可以看到selinux的enforcing模式是通过布尔值或者context值来决定selinux的安全策略机制的.而我们可以通过setsebool –P 命令设置布尔值,通过chcon –t 设置context值(必须安装setroubleshoot包才能用以上两个命令)

热点排行