SELIUNX的介绍及简单配置

一、selinux的设置
我们首先介绍selinux(selinux在工作当中默认关闭的)
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
SELinux提供了一种灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中。SELinux定义了系统中每个【用户】、【进程】、【应用】和【文件】的访问和转变的权限,然后它使用一个安全策略来控制这些实体(用户、进程、应用和文件)之间的交互,安全策略指定如何严格或宽松地进行检查。
1.对内核对象和服务的访问控制
2.对进程初始化,继承和程序执行的访问控制
3.对文件系统,目录,文件和打开文件描述的访问控制
4.对端口,信息和网络接口的访问控制
在linux里所有的文件和进程都有一个值,这个值被称为安全值,当我满足或者匹配到这个安全值,那么才能进行访问。(http默认目录是在/var/www/html当我将这个默认的访问目录更改时你默认创建的 目录对应性另一个安全值,而我们默认访问的就是第一种安全值所以如果开启了selinux则不能访问更改后目录的东西)-------安全子系统
服务—selinux —tcp_warpper --iptable/firewalld—硬件里
selinux级别
enforcing: 强制(一定会生效)违反策略的行动都会被禁止
permissive: 允许,警告
disable: 禁用类似于没有selinux功能的系统
级别切换
禁用<–>强制:下次启动生效
禁用<–>警告:下次启动生效
强制<–>警告:即时生效
在将selinux的模式改为强制访问模式后重启会特别慢的原因……selinux在操作系统的安全体制结构上进行扩张,增强对进程模块文件打上了一些安全标记
SELINUX配置文件
/etc/selinux/config
#查看级别
[root@web ~]# getenforce
#使用命令行切换级别
setenforce 0
setenforce 1
#修改级别
#直接编辑/etc/selinux/config
SELINUX=enforcing
在这里插入图片描述
#修改完成后重启才能生效
#查看selinux状态
[root@web ~]# sestatus
#查看selinux值
[root@web ~]# ll -Z
在这里插入图片描述
#查看context值的变化
[root@web ~]# touch 1
[root@web ~]# cp 1 /tmp
[root@web ~]# ll -Z /tmp
#该文件的context值会随着目录的作用和环境的不同而发生改变,该值会继承上一级目录的context值
system_u:object_r:admin_home_t:s0
这条语句通过:划分成了四段,第一段 system_u 代表的是用户,第二段 object_r 表示的是角色,第三段是SELinux中最重要的信息,admin_home 表示的是类型,最后一段 s0 是跟MLS、MCS相关的东西,暂时不需要管
①system_u指的是SElinux用户,root表示root账户身份,user_u表示普通用户无特权用户,system_u表示系统进程,通过用户可以确认身份类型,一般搭配角色使用。身份和不同的角色搭配时有权限不同,虽然可以使用su命令切换用户但对于SElinux的用户并没有发生改变,账户之间切换时此用户身份不变,在targeted策略环境下用户标识没有实质性作用。
②object_robject_r一般为文件目录的角色、system_r一般为进程的角色,在targeted策略环境中用户的角色一般为system_r。用户的角色类似用户组的概念,不同的角色具有不同的身份权限,一个用户可以具备多个角色,但是同一时间只能使用一个角色。在targeted策略环境下角色没有实质作用,在targeted策略环境中所有的进程文件的角色都是system_r角色。
③admin_home文件和进程都有一个类型,SElinux依据类型的相关组合来限制存取权限。
案列1:
使用httpd服务演示context值得设定
保证selinux开启
保证防火墙开启
安装HTTP包 yum install http -y
创建web服务内容目录
mkdir -pv /www/80
echo this is 80 > /www/80/index.html
编辑HTTP的主配置文件
在这里插入图片描述
然后保存退出。
这时候去服务器访问并不会出现this is 80
原因是你创建的目录的context值为默认的在这里插入图片描述
这里需要修改/www/的值为 httpd_sys_content_t 在这里插入图片描述
这时候重启服务 在去浏览器访问就可以出现在这里插入图片描述
这就是context值的作用 。这里还要说的是web服务的默认目录是/var/www/html 若你直接将文件创建在默认目录下就不需要修改context值。
案例2:使用web服务端口的改变来演示端口的设定。
创建一个8888端口的web服务目录和默认页面
[root@web ~]# mkdir -p /www/8888
[root@web ~]# echo ‘welcome to 8888!!!’ > /www/8888/index.html
#在上个案例的页面中添加如下内容:
LISTEN 8888在这里插入图片描述
现在是肯定访问不了
所以问们要添加自定义端口
semanage port -a -t http_port_t -p tcp 8888
在访问浏览器就可以进入
在这里插入图片描述
接下来使用ftp服务演示布尔值的设定
修改以下几条参数
[禁止匿名用户]
anonymous_enable=no
[禁止遍历]
首先开启chroot选项
allow_writeable_chroot=YES
打开chroot选项
chroot_list_enable=YES
确保以下选项参数无误
local_enable=YES
write_enable=YES
进入浏览器访问ftp服务器是输入用户名和密码和服务器仍然拒绝
修改布尔值打开/home目录的权限
[root@localhost haha]# getsebool -a | grep ftp_home_dir
ftp_home_dir --> off
[root@localhost haha]# setsebool -P ftp_home_dir on在这里插入图片描述
开启之后就可以访问该用户的家目录了。
使用图形界面切换级别
安装policycoreutils-gui
执行system-config-selinux在这里插入图片描述
进入图形化界面进行操作。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 中,权限是非常重要的概念,它控制着系统中各个文件和目录的访问权限。在使用 Linux 时,有时候会遇到一些权限问题,例如无法访问某些文件、无法执行某些命令等等。下面是一些常见的 selinux 权限问题以及解决方法: 1. SELinux 导致无法读写某些文件或目录 如果遇到无法读写某些文件或目录的问题,可以使用命令 ls -Z 查看文件或目录的 SELinux 安全上下文,例如: ``` $ ls -Z /var/www/html/index.html -rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/index.html ``` 如果文件或目录的安全上下文不是默认的值,可能会导致访问权限问题。可以使用命令 chcon 修改文件或目录的安全上下文,例如: ``` $ chcon -v --type=httpd_sys_content_t /var/www/html/index.html ``` 2. SELinux 导致无法执行某些命令 如果遇到无法执行某些命令的问题,可以使用命令 setenforce 0 临时关闭 SELinux,例如: ``` $ setenforce 0 ``` 这样可以暂时解决问题,但不建议长期禁用 SELinux,因为这会降低系统的安全性。如果确实需要执行某些命令,可以使用命令 semanage permissive -a <command> 将其设置为 SELinux 宽容模式,例如: ``` $ semanage permissive -a httpd_t ``` 这样可以让 SELinux 在执行该命令时不会阻止其运行,但仍会记录相应的安全事件。 总之,SELinux 是一种非常重要的安全机制,在使用 Linux 时要注意相关的权限问题,并且尽量不要禁用 SELinux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值