|NO.Z.00052|——————————|^^ 构建 ^^|——|Selinux.V2|——|2台server|

一、实验专题:更改目录的角色类型等级,开启selinux且不影响网站的正常访问
### --- 更改目录的角色类型等级,开启selinux且不影响网站的正常访问
### --- 开启selinux

[root@server11 ~]# vim /etc/sysconfig/selinux
SELINUX=disabled            
#     enforcing -开启
#     permissive -特权模式:若是出现错误会给我提醒,但不会拒绝。
#     disabled -关闭
SELINUXTYPE=targeted
#     targeted - 基础类型;把常见的进程涵盖到。若是开启的话,基础类型就够用了。
#     mls -  多类型匹配强制;会有更多的类型。
### --- 重启生效;速度会非常的慢;关闭selinux表示把selinux从内核中摘除,屏蔽掉,不让其运行。开启需要重新加载到内核之中,所以速度会较慢。

[root@server11 ~]# reboot
[root@server11 ~]# getenforce
Enforcing
[root@server11 ~]# setenforce 0                                         // 临时关闭
[root@server11 ~]# setenforce 1                                         // 临时开启
### --- 验证:开启web服务器

[root@server11 ~]# service httpd start
[root@server11 ~]# chkconfig httpd on
[root@server11 ~]# echo "This is HA-server11 SElinux" >>/var/www/html/index.html
[root@server11 ~]# curl localhost
This is HA-server11 SElinux
~~~     通过Chrome访问http://10.10.10.11/可以正常访问
[root@server11 ~]# mkdir /www
[root@server11 ~]# vim /etc/httpd/conf/httpd.conf  
DocumentRoot "/www/"
<Directory "/www/"> 
[root@server11 ~]# service httpd restart 
[root@server11 ~]# echo "This is HA-server11 SElinux" >>/www/index.html 
[root@server11 ~]# chown  777 -R /www/ 
 
~~~     通过Chrome访问http://10.10.10.11/反馈信息为Apache主页,Apache主页在找不到主页文件的时候会显示出来。
~~~     在www目录下写入了访问文件,并赋予777权限,理论上是没有问题的,是selinux的限制。
[root@server11 ~]# setenforce 0                                             // 临时关闭selinux发现主页可以正常访问了。
### --- 查看selinux的角色类型
 
[root@server11 ~]# ll -Z
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg     // system_u:用户object_r:角色admin_home_t:类型s0:权重等级,不需要去管理
-rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log
-rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log.syslog
[root@server11 ~]# ll -Z /var/www/html/                                     // 查看Apache默认的目录角色类型等级
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html
[root@server11 ~]# ll -Z /www/                                              // 查看自己创建的Apache目录角色类型等级
-rw-r--r--. 777 root unconfined_u:object_r:default_t:s0 index.html          // 发现它的类型是不一致,只要把类型更改为一致即可。
### --- 修改自己创建的Apache目录为Apache默认的目录角色类型等级

[root@server11 ~]# chcon -t httpd_sys_content_t -R /www/
[root@server11 ~]# ll -Z /www/                                              // 和Apache默认目录角色类型等级一致
-rw-r--r--. 777 root unconfined_u:object_r:httpd_sys_content_t:s0 index.html
~~~     通过Chrome访问http://10.10.10.11/可以正常访问写入的网站
~~~     在生产环境中慎重使用-R递归,递归是非常消耗CPU资源的,若是有上万个子文件,递归可能导致设备直接宕机。
### --- 还原selinux之前的配置

[root@server11 ~]# restorecon -Rv /www/                                     // 还原之前的设置
[root@server11 ~]# ll -Z /www/
-rw-r--r--. 777 root unconfined_u:object_r:default_t:s0 index.html
### --- 通过Chrome访问http://10.10.10.11/访问被拒绝
二、selinux布尔值
### --- Managing Boole    (管理SELinux布尔值)
### --- Selinux布尔值就相当于一个开关,精确控制selinux对某个服务器的某个选项的保护,比如Samba服务
~~~     getsebool    -a    命令列出系统中可用的SELinux布尔值
~~~     setsebool    命令用来改变SELinux布尔值
~~~     setsebool    -p    Samba_enable_home_dirs=1
~~~     开启夹目录是否能访问的控制

[root@server11 ~]# getsebool -a |grep samba
bacula_use_samba --> off
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
tmpreaper_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off

三、实验专题
1、selinux布尔值
### --- HA-server1:10.10.10.11:服务端
### --- HA-server2:10.10.10.12:客户端
### --- 开启selinux后可以正常访问samba服务
### --- 安装samba

[root@server11 ~]# yum install -y samba
### --- 创建2个用户:zhangsan/lisi
 
[root@server11 ~]# useradd zhangsan
[root@server11 ~]# passwd zhangsan
[root@server11 ~]# useradd lisi
[root@server11 ~]# passwd lisi
### --- 转换为samba用户;可以正常被samba访问
 
[root@server11 ~]# pdbedit -a zhangsan 
[root@server11 ~]# pdbedit -a lisi
### --- 创建samba并授予777权限
 
[root@server11 ~]# mkdir /samba
[root@server11 ~]# chmod 777 /samba/
### --- 修给samba配置文件
 
[root@server11 ~]# vim /etc/samba/smb.conf 
[public]                                                                    // 最后开启配置文件
comment = Public share
path = /samba
public = yes
writable = yes
printable = no
write list = +staff
[root@server11 ~]# service smb start
[root@server11 ~]# chkconfig smb on
### --- 拷贝一些文件到/samba目录

[root@server11 ~]# cp -a /var/log/*.log /samba/
### --- 验证:张三用户下访问samba服务
 
[root@server12 ~]# yum install -y smbclient                                 // 安装一下smbclient,默认是已经安装了
[root@server12 ~]# smbclient -U zhangsan -L 10.10.10.11                     // 通过张三用户访问10.10.10.11访问samba服务,发现有两个共享目录zhangsan、public
    Sharename       Type      Comment
    ---------       ----      -------
    public          Disk      Public share
    zhangsan        Disk      Home Directories
[root@server12 ~]# smbclient -U zhangsan  //10.10.10.11/public              // 连接10.10.10.11下的samba服务的张三用户下的public目录
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*                                          // 发现是空目录。可能是selinux规则在限制
### --- 关闭后selinux重新验证

[root@server11 ~]# setenforce 0
[root@server12 ~]# smbclient -U zhangsan  //10.10.10.11/public              // 关闭selinux后重新验证发现可以正常获取数据
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-33.el6]
smb: \> ls
  .                                   D        0  Sat Jan 30 08:46:02 2021
  ..                                 DR        0  Sat Jan 30 08:41:32 2021
  wpa_supplicant.log                           0  Tue Jan 19 03:18:18 2021 
~~~     原因是跟当前的samba的类型不一致
### --- 修给samba共享目录的类型,开启selinux重新验证

[root@server11 ~]# chcon -t samba_share_t /samba/                           // 设置/samba目录类型权限;在samba配置文件中可以查找获取共享目录角色类型权限等级
[root@server11 ~]# setenforce 1
[root@server12 ~]# smbclient -U zhangsan  //10.10.10.11/public              // 验证可以获取数据
smb: \> ls
  .                                   D        0  Sat Jan 30 08:46:02 2021
  ..                                 DR        0  Sat Jan 30 08:41:32 2021
  wpa_supplicant.log                           0  Tue Jan 19 03:18:18 2021
  Xorg.0.log                               38396  Tue Jan 19 03:46:36 2021
smb: \> get yum.log                                                         // 下载文件可以正常下载
### --- 需求:zhangsan和lisi两个用户在自己的家目录下只能下载文件,不能上传文件。实验方案:布尔值

[root@server11 ~]# setsebool -P samba_export_all_ro on
[root@server11 ~]# touch /home/zhangsan/yanqi 
[root@server12 ~]# smbclient -U zhangsan  //10.10.10.11/zhangsan
  yanqi                                        0  Sat Jan 30 09:04:04 2021 
smb: \> get yanqi                                                           // 可以正常下载
getting file \yanqi of size 0 as yanqi (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec) 
smb: \> put install.log                                                     // 上传install.log文件,拒绝了,因为开启的是samba共享的只读权限   
NT_STATUS_ACCESS_DENIED opening remote file \install.log

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(35)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示