SELinux的主要作用

yizhihongxing

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日

相关文章

  • SELinux auditd日志使用方法详解

    下面我将为您详细讲解SELinux auditd日志使用方法的完整攻略。 什么是SELinux SELinux(Security-Enhanced Linux)是一种安全增强的Linux内核。它提供了强制访问控制(MAC)机制,确保了系统的安全性。与传统的自由访问控制(DAC)模型不同,SELinux使用策略强制访问控制(RBAC)模型,可以限制程序的能够访…

    SELinux管理 2023年3月25日
    00
  • 详解Linux ps命令:查看正在运行的进程

    Linux中的ps命令是Process Status的缩写,用于查看系统中的进程信息。它可以用来列出系统中正在运行的进程,以及它们的状态、占用的资源等信息。以下是关于ps命令的详细说明: 命令语法 ps命令的语法如下: ps [options] 命令选项 以下是常用的ps命令选项: -a:显示所有用户的进程,而不仅仅是当前用户的进程。 -u:显示用户和其他详…

    Linux系统管理 2023年3月25日
    00
  • 详解Linux umask详解:令新建文件和目录拥有默认权限

    以下是对Linux umask的作用和使用方法的完整讲解,包括示例说明。 1. umask的作用 umask是一个三位数,用于限制新建文件和目录的权限,默认值为022。它与文件和目录的权限具有以下关系: 新建文件的权限 = 666 – umask 新建目录的权限 = 777 – umask 也就是说,如果umask的值为022,那么新建文件的权限为644,新…

    Linux权限管理 2023年3月25日
    00
  • 详解Linux ssh-keygen命令:生成 SSH 密钥

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

    Linux函数大全 2023年3月24日
    00
  • 详解Linux ps命令:列出当前运行的进程

    Linux ps 命令用于列出系统中运行的进程信息。下面是 ps 命令的作用和使用方法的详细攻略: 作用: 列出当前运行中的进程信息,包括进程名、进程ID、占用CPU的百分比、占用内存的百分比、进程启动时间等信息。 使用方法: ps [options] 其中,options 表示 ps 命令的参数选项,下面介绍一些常用的参数选项: a:显示所有进程。 x:显…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux PV物理卷(创建、查看和删除)

    创建Linux PV物理卷 创建Linux PV物理卷的步骤如下: 创建物理卷 我们使用pvcreate命令来创建物理卷,语法如下: pvcreate [options] physical_volumes 其中,[options]是可选参数,physical_volumes是指定要创建的物理卷列表。例如,我们可以执行以下命令来创建一个名为/dev/sdb1的…

    Linux高级文件系统管理 2023年3月25日
    00
  • 详解Linux kill命令:终止进程

    1. Linux kill命令作用 Linux kill命令用于向进程发送信号。 在Linux系统中,所有进程都会分配一个唯一的PID(Process ID),以便系统对其进行管理和控制。kill命令通过向进程发送信号来使进程终止或更改运行状态。kill命令的常用信号包括: SIGTERM:终止进程 SIGKILL:强制终止进程 SIGHUP:终止进程,并重…

    Linux系统管理 2023年3月25日
    00
  • 详解Linux groupmod命令:修改用户组信息

    Linux groupmod 命令用于修改系统中已经存在的用户组的属性,比如修改用户组 ID,用户组名称等等。它可以帮助管理员对已有的用户组进行管理和调整,保证系统中的用户组始终有良好的组织和分类。 命令格式 groupmod [options] GROUP 其中 GROUP 表示要修改的用户组名称,options 表示修改选项。 常用选项 -g, –gi…

    Linux函数大全 2023年3月24日
    00
合作推广
合作推广
分享本页
返回顶部