SELinux的主要作用

SELinux(Security-Enhanced Linux)是Linux内核中的强制访问控制(MAC)系统,通过限制进程的权限,保护系统的安全性。

主要作用:

  1. 限制进程的访问权限:在Linux系统中,每个进程需要访问一些资源(如文件、设备等),SELinux可以根据安全策略限制进程对这些资源的访问权限。比如,某个程序只能访问特定的文件或目录。

示例:限制httpd进程只能访问/var/www/html目录下的文件

# 切换到root用户
sudo su 

# 创建一个目录httpd_html
mkdir /var/www/html/httpd_html

# 更改httpd_html目录的SELinux上下文
chcon -R -t httpd_sys_content_t /var/www/html/httpd_html

# 修改httpd进程的SELinux上下文,指定只能读取httpd_html目录下的内容
semanage fcontext -a -t httpd_sys_content_t /var/www/html/httpd_html(/.*)?

# 重新载入httpd_html的SELinux上下文
restorecon -Rv /var/www/html/httpd_html

# 重启httpd服务
systemctl restart httpd.service
  1. 控制用户的访问权限:SELinux可以根据安全策略控制用户对文件、目录等资源的访问权限。比如,某个用户只能读取特定的文件或目录,而不能修改或删除。

示例:控制用户jerry只能访问/home/jerry目录下的文件夹和文件

# 切换到root用户
sudo su 

# 创建一个文件夹并赋予jerry用户所有权
mkdir /home/jerry/test && chown jerry:jerry /home/jerry/test

# 更改/home/jerry/test目录的SELinux上下文
chcon -R -t user_home_dir_t /home/jerry/test

# 把jerry用户添加到SELinux中,并指定只能访问/home/jerry/test目录及其下的内容
semanage login -a -s user_u -r s0 -f 'jerry' -P 'unconfined_u:unconfined_r:user_t:s0-s15:c0.c1023' 
setsebool -P user_use_full_access off 
setsebool -P user_use_homedirs on

# 重新载入所有用户的SELinux上下文
restorecon -Rv /home

# 切换回jerry用户
su jerry

# 验证是否成功
echo 'hello world' > /home/jerry/test/test.txt
echo 'failed' > /home/jerry/test.txt   #提示没有权限
  1. 记录敏感操作日志:SELinux可以记录系统中的敏感操作,如对安全上下文的修改、对受保护文件的访问等,以便进行审计和保护系统安全性。

示例:记录用户jerry尝试访问/var/www/html目录的操作

# 切换到root用户
sudo su 

# 开启SELinux的审计功能,记录用户和进程的操作
semodule -i /usr/share/selinux/targeted/auditd.pp
auditctl -w /var/www/html -p r -k httpd_read  
ausearch -k httpd_read  #查看记录的操作日志

以上是SELinux的主要作用及实例说明,通过配置SELinux,可以更好地保障系统的安全性,控制进程和用户的访问权限,并及时记录敏感操作日志。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SELinux的主要作用 - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • 详解Linux su命令:用户间切换

    下面详细讲解Linux su命令的作用与使用方法的完整攻略: 一、su命令是什么 su是 Linux 下管理权限需要用到的一个命令,它是Switch User(切换用户)的缩写。用来以超级用户或其他用户身份登录系统。 二、su命令的语法 下面是su命令的语法: su [选项] [用户账号] 选项: -c:后面跟的参数会以root用户执行。 -l:以目标用户身…

    Linux用户和用户组管理 2023年3月25日
    00
  • 详解Linux quotaon命令:开启磁盘配额限制

    Linux quotaon命令是用来激活和禁用磁盘配额的命令。磁盘配额可以限制用户使用空间,以避免磁盘因某一个用户使用过多而导致不平衡。quotaon命令通常与其他quota命令一起使用,可以使用quota命令设置每个用户允许占用的磁盘空间。在本攻略中,我们将详细讲解quotaon命令的使用方法和实例。 1. quotaon命令格式 quotaon命令的格式…

    Linux高级文件系统管理 2023年3月25日
    00
  • 详解Linux arp命令:显示和配置网络 ARP 缓存

    Linux arp 命令用于查看、添加、删除本地 ARP 缓存条目。在局域网中,我们可以通过 IP 地址访问不同的设备,而 ARP 协议是通过 MAC 地址映射 IP 地址,而 arp 命令通常用来查找一个网络设备的物理地址。下面是该命令的详细作用与使用方法的攻略: 作用 显示当前系统的 ARP 缓存信息 添加、删除 ARP 缓存项 查询指定 IP 地址是否…

    Linux函数大全 2023年3月24日
    00
  • Linux系统启动流程(以CentOS 6为对象)

    Linux系统启动流程是一个相对复杂的过程,涉及到多个阶段和环节。本文以CentOS 6为例,详细讲解Linux系统启动流程的完整攻略。 BIOS和Boot Loader阶段 当计算机启动时,第一阶段是BIOS(Basic Input/Output System)固件自检。BIOS是位于计算机主板上的一个芯片,它初始化计算机硬件,检查是否有可引导的设备,并将…

    Linux启动管理 2023年3月25日
    00
  • 详解Linux ip命令:显示和配置网络接口和路由表

    Linux中的ip命令是网络配置和管理方面的工具,它的功能非常强大,可以用来连接以太网、无线网络、设置网络地址转换、管理用户和组等。 以下是ip命令的一些常用用法: 显示网络接口的信息 ip link show 这个命令可以显示系统中所有网络接口的信息,包括接口名称、MAC地址、MTU等。 设置网络接口的状态 ip link set enp0s3 up/do…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux ncdu命令:查看磁盘使用情况

    ncdu是一款在Linux系统中使用的开源命令行磁盘使用情况分析工具。它用于显示磁盘使用情况和分析目录大小等信息。下面是使用ncdu的步骤和示例说明: 1. 安装ncdu 在Debian/Ubuntu系统中,可以使用以下命令安装ncdu: sudo apt-get update sudo apt-get install ncdu 在CentOS/RHEL系统…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux apropos命令:查找命令的文档

    Linux apropos 命令是一种非常有用的工具,它可以帮助用户快速查找 Linux 系统中已安装的命令、函数、配置文件等的帮助文档。下面我将为大家详细讲解 apropos 命令的作用和使用方法,并附上两个具体的使用示例。 作用 apropos 命令的作用是根据指定的关键字,在系统的帮助文档中查找与之相关的命令、函数、库等信息。通常情况下,我们在掌握某个…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux whoami和who am i命令用法和区别

    下面我来详细讲解Linux中whoami和who am i命令的作用和使用方法。 whoami命令 命令作用 whoami命令用于显示当前登录的用户名称。 命令使用方法 打开终端,输入以下命令即可使用whoami命令: whoami 命令使用示例 $ whoami john 如上所示,运行whoami命令后,将会返回当前登录的用户名john。 who am …

    Linux用户和用户组管理 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部