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 groupdel命令:刪除用户组

    Linux系统中的groupdel命令用来删除指定组。下面详细讲解groupdel命令的使用方法及相关注意事项: 命令格式 groupdel [组名] 命令参数 组名:指定要删除的组名。 使用方法 登录Linux系统,并以root用户身份执行groupdel命令。 在命令后加上要删除的组名,执行即可删除指定组。 删除组之前应该先确保该组已经没有任何用户使用,…

    Linux用户和用户组管理 2023年3月25日
    00
  • 详解Linux ping命令:测试网络连接

    Linux ping命令是网络诊断工具中最基础的命令之一。ping命令能够测试与另一个主机之间的连接,以及大致测量两者之间的网络延迟,有助于管理员更好地了解网络的状况。以下是关于Linux ping的作用与使用方法的完整攻略: 作用 Linux ping命令用来测试与另一个主机之间的连接以及测量两者之间的网络延迟。在使用ping命令之后,系统会向目标主机发送…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux su命令:切换到另一个用户账户

    Linux su命令可以用来切换用户,常用于管理员用户切换到普通用户下执行命令,或者普通用户切换为管理员用户执行需要权限的命令。下面就以常见的用法为例,说明su命令的使用方法和注意事项。 1. 命令格式 su [选项] [用户] 选项: -c:指定切换用户后执行的命令。 用户: 系统中已有用户的登录名或UID。若不指定用户,则默认切换到root用户下。 2.…

    Linux函数大全 2023年3月24日
    00
  • Linux gd库安装步骤说明

    下面是Linux下安装gd库的完整攻略: 步骤一:下载gd库 首先,你需要从官网下载gd库源码包,可以从以下网址下载: http://libgd.github.io/ 这里我们以2.2.5版本为例进行说明。 步骤二:解压缩 下载后,在终端中进入下载目录,执行以下命令解压缩: $ tar -zxvf gd-2.2.5.tar.gz 解压完成后,会在当前目录下生…

  • 详解Linux usermod命令:修改用户账户信息

    Linux usermod命令用于修改用户账号信息,如修改用户的登录名、家目录、默认Shell等等。用户修改在系统离线的状态下进行。下面是usermod命令的使用方法以及示例说明。 命令格式 usermod [选项] 用户名 命令选项 -c, –comment COMMENT:修改用户的注释信息。 -d, –home HOME_DIR:修改用户的家目录。…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux shutdown命令:关机系统

    Linux shutdown 命令用于安全地关闭系统并向所有登录用户发送警告信息。它是一个用于执行关机和重新启动的标准命令,并且只能由具有管理员权限的用户使用。 作用 使用 shutdown 命令时,系统会按照指定的时间安全地关闭,这意味着,它会向当前运行的所有用户(包括远程登录的用户)发出警告信息,指示系统将要关闭,并在一段时间后停止操作。同时,它会挂起或…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux chown命令:修改文件所有者

    Linux的chown命令是用于修改文件或目录的所有者(Owner)和所属组(Group),它的作用是重新将文件或目录的所有者和所属组分配给不同的用户或者用户组。这个命令在服务器管理中非常常用,下面是它的使用方法的完整攻略。 命令格式 chown [选项] [所有者][:[所属组]] 文件名 命令选项 -R, 修改当前目录下的所有文件 -v, 详细输出修改信…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux lynx命令:在终端中浏览网页

    Linux中的lynx命令是一款非常强大的终端浏览器,它能够在Linux终端中打开网页并浏览网页的内容。下面是关于lynx命令的作用和使用方法的详细攻略: 作用 lynx命令能够在Linux终端中打开网页并浏览网页的内容,它具有以下作用: 浏览网页:通过输入URL地址,用户可以在Linux终端中浏览网页,而不必依赖于图形界面浏览器。 查看源码:用户可以查看网…

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