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,可以更好地保障系统的安全性,控制进程和用户的访问权限,并及时记录敏感操作日志。

阅读剩余 32%

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

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

相关文章

  • Linux虚拟内存和物理内存

    Linux操作系统采用虚拟内存技术,将物理内存和磁盘空间组合起来,形成了一种可以更高效地利用内存的方式。在本篇攻略中,我们将会深入探讨Linux虚拟内存和物理内存的相关知识。下面分别介绍一下。 Linux物理内存 Linux物理内存是指计算机实际的内存存储硬件,它直接映射到CPU指定的内存地址空间中。Linux中对物理内存最基本的操作是对内存的分配和释放。L…

    Linux文件系统管理 2023年3月25日
    00
  • SELinux配置文件(/etc/selinux/config)

    SELinux是一种强制访问控制(MAC)机制,它是Linux系统安全性的重要组成部分。配置SELinux需要编辑/etc/selinux/config文件,下面是SELinux配置文件的完整攻略分为以下几个部分: 配置文件基本结构 /etc/selinux/config文件的基本结构如下: # This file controls the state of…

    SELinux管理 2023年3月25日
    00
  • 详解Linux killall命令:杀死所有具有指定名称的进程

    当一些进程出现问题时,我们可能需要终止它们以恢复系统的正常运行。Linux操作系统提供了多种方式来停止进程,比如kill命令、pkill命令等。而本文将要介绍的是另一种便捷的终止进程的方法:killall命令。 一、命令作用 Linux系统中,killall命令的作用是杀死同名进程。可以通过以下命令来查看杀死进程的情况: $ killall [-u user…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux pkill命令:使用正则表达式终止进程

    pkill命令是一个用于通过进程名称来查找和终止进程的Linux工具。该命令等同于killall命令, 但是需要更少的手动输入。 语法格式 pkill [options] pattern 常用选项 -u, –euid pattern 使用用户EUID进行查询(pkill指定的任何用户的过程) -i, –ignore-case 忽略搜索模式的大小写 -x,…

    Linux函数大全 2023年3月24日
    00
  • Linux mhash和mcrypt安装过程详解(LAMP环境搭建)

    Linux系统中的mhash和mcrypt是常用的加密工具,用于保护数据的安全性。下面是在LAMP环境下安装mhash和mcrypt的完整攻略过程。 1. 安装mhash 步骤1:安装编译必要工具 打开终端,执行以下命令安装编译必要工具: sudo apt-get install build-essential 步骤2:下载mhash 从官网下载mhash:…

  • 详解Linux route命令:显示和配置网络路由表

    Linux route 命令用于查看、添加、删除和修改内核 IP 路由表的条目。在网络通信中,路由表起着至关重要的作用,控制着数据包在网络中的传输路径。route 命令的使用方法如下: 查看路由表 要查看 Linux 系统当前的路由表,可以使用以下命令: route -n 其中 -n 表示以数字形式显示地址,而不是尝试进行反向 DNS 解析。下面是一些示例输…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux ssh-keygen命令:生成 SSH 密钥

    ssh-keygen 是 Linux 下一个常用的密钥生成工具,主要用于生成 SSH 协议的公钥和私钥。以下是 ssh-keygen 命令的详细作用和使用方法: 作用 生成 SSH 协议的公钥和私钥 添加或删除公钥到远程服务器 命令格式 ssh-keygen [选项] [参数] 命令选项 -b:指定密钥长度,默认为 2048 位 -t:指定密钥类型,支持的类…

    Linux函数大全 2023年3月24日
    00
  • Linux数据备份介质的选择

    选择合适的备份介质对于数据的安全备份和恢复至关重要。Linux操作系统提供了多种数据备份介质,每种介质都有其特点和使用场景,站长应该综合考虑才能选择出最合适的备份介质。以下是备份介质的选择攻略: 1. 硬盘备份 硬盘备份是一种常用的备份方式,其更换简便,备份速度快,且不需要网络连接。如果您想备份大量数据,硬盘备份是一个很好的选择。 举例说明:您有一个正在运行…

    Linux备份与恢复 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部