linux-Context和bool开关

简介: linux-Context和bool开关

一,回顾slinux

1.什么是是slinux?

 内核级加强型防火墙


2.getenforce        查看色selinux状态(三种)

       enforcing        #过滤并阻止

       permissive      #记录并放行

       disabled          #禁用

3.临时切换状态:

setforce 0|1

4.永久切换状态:

1. [root@localhost ~]# vi /etc/sysconfig/selinux
2. SELINUX=disabled

二,什么是Context值

1.Context值分为两种:

       系统默认的Context值

       服务的context值

2.Context值的作用:

       主要是防止有未知文件进入目录文件之中(如将木马拷贝到目录文件下)

3.context值的相关命令:

chcon -t context值 文件或目录         #更改context值
restorecon -R 文件或目录    #恢复原有的context值
semanage fconftext -a -t context值 文件或目录    #永久更改context值
选项:
-t:设置context值
-R:递归
-a:添加

1.配置context值,查看root目录的文件Context值

注:在设置context值时,将selinux打开。

[root@localhost ~]# ll -Z
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
-rw-------. root root system_u:object_r:admin_home_t:s0 original-ks.cfg

2.context值的作用

       首先以FTP的方式来进行测试,安装ftp服务后,在/var/frp/pub目录下,创建两个文件,然后查看context值

[root@localhost pub]# ll -Z
-rw-r--r--. root root system_u:object_r:public_content_t:s0 1.txt
-rw-r--r--. root root system_u:object_r:public_content_t:s0 2.txt

  接下来通过远程用户以FTP服务器登录到主机,查看这两个共享文件

[root@localhost ~]# lftp 192.168.2.1
lftp 192.168.2.1:~> ls
drwxr-xr-x    2 0        0              32 Oct 27 05:44 pub
lftp 192.168.2.1:/> cd pub
lftp 192.168.2.1:/pub> ls
-rw-r--r--    1 0        0               0 Oct 27 05:44 1.txt
-rw-r--r--    1 0        0               0 Oct 27 05:44 2.txt

然后修改1.txt文件的context值为tmp_t

[root@localhost pub]# chcon -t tmp_t 1.txt

   然后在客户端进行查看文件列表

[root@localhost ~]# lftp 192.168.2.1
lftp 192.168.2.1:~> ls
drwxr-xr-x    2 0        0              32 Oct 27 05:44 pub
lftp 192.168.2.1:/> cd pub
lftp 192.168.2.1:/pub> ls
-rw-r--r--    1 0        0               0 Oct 27 05:44 2.txt

由此可用看出当context的值做出了不同的改变,会影响服务的访问或读取

[root@localhost pub]# ll -Z
-rw-r--r--. root root system_u:object_r:tmp_t:s0       1.txt
-rw-r--r--. root root system_u:object_r:public_content_t:s0 2.txt

3.使用http服务查看context值的作用

       安装httpd服务,编辑index.html网站文件

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# echo "hello" > index.html
[root@localhost html]# ll -Z
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html

   更改context值

[root@localhost html]# chcon -t tmp_t index.html
[root@localhost html]# ll -Z
-rw-r--r--. root root unconfined_u:object_r:tmp_t:s0   index.                                                                                          html

    再次访问就会出现问题

4.context值的特点:

1.当下创建文件时,继承上一级的目录的context值

2.context值分为两种(默认context值,服务context值):

       默认context是系统自身的默认值

       服务context值是在安装服务器时,所带的context值,不会受上一级的目录的影响

3.当更改了不同的context值,会影响服务的访问和读取

服务和默认context的区别

       也就是说,除了由于服务的原因,比如/var下面,由于安装了ftp服务后,会在/var下面创建ftp这个目录文件,可是查看context值却发现并没有继承/var的context值,却可以在/var下面看到,这个现象可不是为了推翻context值的作用,而是为了说明继承分为两种,一种是以系统默认的context值为基,在此下面创建的目录或文件就继承了其context值,而有一种情况是不受其约束的,那就是安装服务的时侯所自动产生的目录或文件,它们拥有着属于自己的context值,可以当作例外来看,那么一切就可以解释的通了。

三,bool开关安全机制

Bool开关的作用:

       Bool主要是争对在selinux处于enforcing(强制状态)时,拥有访问端口的口令也是无法登陆的情况时起作用的

bool常用命令:

1. getsebool     –a                #查看所有的bool开关
2. setsebool     -P  服务=[1|0]    #修改bool值
3.    (1 :开    0:关     或者on /off)
4.

1.bool安全机制的原理

注:前提将selinux服务设置为enforcing模式

       如果selinux设置为enforcing模式,用户将可以使用ftp服务,但是无法获取目录下的所有文件,需要单独放开权限。

[root@localhost html]# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off

     使用setseboot来进行开发tftp_home_dir权限

[root@localhost ~]# setsebool -P tftp_home_dir=on
[root@localhost ~]# getsebool -a | grep ftp | grep ftp_home
tftp_home_dir --> on

FTP服务用户将可以正常访问自己的宿主目录

目录
相关文章
|
Linux
Linux网络管理之网卡、网络接口开关设置
ifup命令用于激活指定的网络接口。ifup命令会去读取/etc/sysconfig/network-scripts/目录下的相关网络接口的配置文件,并根据配置文件的内容来激活该网络接口。
720 0
Linux网络管理之网卡、网络接口开关设置
|
Linux 云计算 Python
【python | linux06】python中文件的开关及读写定位
文件作用:就是把一些数据存放起来,可以让程序下一次执行的时候直接使用,加载到内存中,而不必重新制作一份,省时省力。在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式).........
216 0
【python | linux06】python中文件的开关及读写定位
|
Linux API 数据安全/隐私保护
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
148 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
585 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
106 3
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
90 2
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
57 14
Linux 10 个“who”命令示例

热门文章

最新文章