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/目录下的相关网络接口的配置文件,并根据配置文件的内容来激活该网络接口。
653 0
Linux网络管理之网卡、网络接口开关设置
|
Linux 云计算 Python
【python | linux06】python中文件的开关及读写定位
文件作用:就是把一些数据存放起来,可以让程序下一次执行的时候直接使用,加载到内存中,而不必重新制作一份,省时省力。在Python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式).........
159 0
【python | linux06】python中文件的开关及读写定位
|
Linux API 数据安全/隐私保护
|
1天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
190 2
|
1天前
|
Linux 程序员 计算机视觉
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
【linux 学习】在Linux中经常用到的cmake、make、make install等命令解析
13 0
|
1天前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
13 3
|
1天前
|
监控 Linux 数据处理
|
1天前
|
编解码 Ubuntu Linux