什么是selinux

selinux,内核级加强型防火墙
(对文件影响,安全上下文)对文件和服务进行标签,程序标签和文件标签不一致(看不了文件)
(对服务影响) 把服务不安全的功能去掉,对程序功能进行限制,在内核上限制掉(删除不了了)
selinux有disabled、permissive、enforcing三种级别

如何管理selinux级别

vim /etc/sysconfig/selinux
reboot   ##对配置文件更改后,需要重新启动使其生效


selinux=disabled ##关闭状态
selinux=Enforcing ##开启强制状态---- 一旦违反了策略,就无法继续操作下去。
selinux=Permissive ##开启警告状态---- 即使违反了策略,也让你继续操作,但是会把违反的内容记录下来。

getenforce ##查看状态

在开启状态下可以这样切换
setenforce 1 ##设定为强制
setenforce 0 ##设定为警告

当selinux处于disabled时候,无安全上下文。文件以及服务的功能不会被限制。

[root@localhost ~]# touch /mnt/file1    #新建文件
[root@localhost ~]# mv /mnt/file1  /var/ftp/   #将其移动到公共家目录中
[root@localhost ~]# ls /var/ftp/
file1  pub
[root@localhost ~]# lftp 172.25.254.204   #使用匿名用户进行访问
lftp 172.25.254.204:~> ls            #可以看到所有存在的文件,没有安全上下文的限制
-rw-r--r--    1 0        0               0 Apr 19 01:33 file1
drwxr-xr-x    2 0        0              31 Mar 07  2014 pub
lftp 172.25.254.204:/> quit
[root@localhost ~]# ls -Z /var/ftp/         #在disabled状态下没有安全上下文 显示?
-rw-r--r-- root root ?                                file1
drwxr-xr-x root root ?                                pub
[root@localhost ~]# lftp 172.25.254.204 -u student    #使用本地用户进行访问
Password:
lftp student@172.25.254.204:~> ls
-rw-r--r--    1 1000     1000         2005 Apr 18 07:10 passwd
lftp student@172.25.254.204:~> put /etc/group       #可以进行正常的上传功能
850 bytes transferred
lftp student@172.25.254.204:~> ls      #成功上传文件
-rw-r--r--    1 1000     1000          850 Apr 19 01:35 group
-rw-r--r--    1 1000     1000         2005 Apr 18 07:10 passwd
lftp student@172.25.254.204:~> quit

当selinux处于Enforcing时候,存在安全上下文。文件以及服务的功能被限制。

[root@localhost ~]# vim /etc/sysconfig/selinux
[root@localhost ~]# reboot         #在配置文件中修改selinux状态为Enforcing
[root@localhost ~]# getenforce    # 查看selinux状态
Enforcing
[root@localhost ~]# ls -Z /var/ftp/      #查看目录中内容的安全上下文
-rw-r--r--. root root system_u:object_r:public_content_t:s0 file1
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub
[root@localhost ~]# lftp 172.25.254.204 -u student   使用本地用户进行访问
Password:
lftp student@172.25.254.204:~> ls
-rw-r--r--    1 1000     1000         2005 Apr 18 07:10 passwd
lftp student@172.25.254.204:~> put /etc/group
put: Access failed: 553 Could not create file. (group)    #无法进行上传功能,功能被限制。
lftp student@172.25.254.204:~> quit
[root@localhost ~]# touch /mnt/file2
[root@localhost ~]# mv /mnt/file2 /var/ftp/      #再次创建新文件移动到公共家目录中
[root@localhost ~]# ls /var/ftp/
file1  file2  pub     #该目录中确实存在该文件
[root@localhost ~]# lftp 172.25.254.204
lftp 172.25.254.204:~> ls       #但是连接后无法显示查看该file2文件
-rw-r--r--    1 0        0               0 Apr 19 01:33 file1
drwxr-xr-x    2 0        0              31 Mar 07  2014 pub
lftp 172.25.254.204:/> quit
[root@localhost ~]# ls -Z /var/ftp/       #查看文件的安全上下文
-rw-r--r--. root root system_u:object_r:public_content_t:s0 file1
-rw-r--r--. root root unconfined_u:object_r:mnt_t:s0   file2       #其中file2的安全上下文不适合
drwxr-xr-x. root root system_u:object_r:public_content_t:s0 pub

如何更改文件安全上下文

(1)定义
安全上下文是一个简单的、一致的访问控制属性,主要体现在以下两点:
a.对文件:限制文件访问。文件必须拥有相匹配的安全上下文才能being识别访问。
b.对服务:限制认为不安全的服务功能设置开关。 开关默认关闭,需要时可以打开。
(2)查看
ls -Z ##检查文件、目录的安全上下文;
ps -Z ##检查进程的安全上下文;
mv:安全上下文则不变;
cp:会重新生成安全上下文。

临时更改
chcon -t 安全上下文 文件
chcon -t public_content_t /publicftp -R

关掉内核火墙重启,打开内核火墙重启后 /publicftp的安全上下文还原
semanage fcontext -l | grep /publicftp ##内核上下文安全列表
发现没有 所以会被还原

永久性更改
即用命令给内核上下文安全列表加目录
semanage fcontext -l ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t ‘/publicftp(/.*)?’
restorecon -RvvF /publicftp/ ##R vv显示 F刷新

semanage fcontext -a -t public_content_t "/var/lala(/.*)?"  #永久更改目录的安区上下文;(/.*)?表示目录本身以及已经存在的文件和将来新建的文件。
restorecon -R /var/lala/  # 更该完之后进行扫描 使得更改生效。
semanage  fcontext -l |grep /var/ftp  #查看目录/var/ftp的安全上下文设置情况。

在开启状态下,匿名用户怎样才能上传(vstp的配置文件ok的情况下)
改安全上下文
ls -Zd /var/ftp/pub
drwxr-xr-x. root root
system_u:object_r:public_content_t:s0 /var/ftp/pub ##不能写,SELINUX的文件是只读的,需要加写的权限
chcon -t public_content_rw_t /var/ftp/pub ##添加写

如何控制selinux对服务功能的开关

getsebool -a | grep 服务名称
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off ##P永久开启功能
setsebool -P ftpd_anon_write on

[root@localhost ~]# setsebool -P ftp_home_dir 1  ##设置bool值为1;-P  ##永久开启
[root@localhost ~]# getsebool -a | grep ftp  ##查看ftp的bool值
ftp_home_dir --> on  ##bool值为1则设置成功,修改之后本地用户的上传与删除功能可以正常使用
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
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@localhost ~]# lftp 172.25.4.104 -u student
Password:
lftp student@172.25.4.104:~> ls
-rw-r--r--    1 1000     1000         2005 Apr 21 16:11 passwd
lftp student@172.25.4.104:~> put /etc/group
850 bytes transferred
lftp student@172.25.4.104:~> ls
-rw-r--r--    1 1000     1000          850 Apr 21 16:22 group
-rw-r--r--    1 1000     1000         2005 Apr 21 16:11 passwd  ##本的用户上传成功
lftp student@172.25.4.104:~> rm group  ##本地用户删除成功
rm ok, `group' removed
lftp student@172.25.4.104:~> ls
-rw-r--r--    1 1000     1000         2005 Apr 21 16:11 passwd
lftp student@172.25.4.104:~> exit

监控selinux的错误信息

setroubleshoot-server.x86_64 #该插件可以提供selinux出现的问题解决方案
/var/log/audit/audit.log 记录产生问题的日志
/var/log/messages 提供出现的问题以及解决方案


Linux下selinux的初级管理相关推荐

  1. linux通用自启动管理,linux下通过xinetd服务管理 rsync 实现开机自启动

    1.1 xinetd服务配置 1.1.1 检查xinetd服务是否安装 [root@backup ~]# rpm -qa xinetd [root@backup ~]# rpm -ql xinetd ...

  2. Linux运维之linux下文件与目录管理

    一.实验环境(rhel7.0版本) 主机环境:rhel7.0 各主机信息 主机名 IP server 172.25.254.1 二.Linux的系统结构 1.Linux系统是一个根文件系统,是一个倒树 ...

  3. linux下puppet的“资源”管理

    已经有2年多的时间没有写博客来.有点不好意思,但在奇虎360真的是太忙了,没有那么多精力来写博客. 今天是周末抽出一点时间来更新一下自己的博客,希望自己的博文能够给大家有些许帮助.也希望通过博客 认识 ...

  4. linux下添加mq队列管理配置,linux下 MQ第二弹:队列管理器的配置,实现双机MQI通道异步双向通信,亲测!!...

    本人前面文章一提到MQ 在linux下的安装,在此只描述队列管理器的配置,实现MQI通道的双向通讯. 一下方法我已亲测!! 贴出A,B两机的MQ配置记录: A机: #**--------------- ...

  5. linux 命令gpasswd -a,gpasswd命令_Linux gpasswd命令用法详解:Linux下工作组文件的管理工具...

    gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow管理工具. 语法gpasswd(选项)(参数) 选项-a:添加用户到组: -d:从组删除用户: -A:指定管理员 ...

  6. linux下的CPU频率管理器

    今日,查看资料,方知在linux下有一个用于移动设备省电用的:CPU频率调整器. 在百度里,没有找到详细的说明资料,可把此事当做课题,留待以后研究. 转载于:https://blog.51cto.co ...

  7. Linux下通过C语言管理网络--基于ioctl

    Linux下通过ioctl接口获取和设置IP地址,获取和设置mac地址,获取和设置网卡当前状态,获取和配置网关 /** Copyright (C) 2021, 2021 huohongpeng* Au ...

  8. linux下数据库的基本管理,数据库的管理_linux 运维之道 基础篇的技术博客_51CTO博客...

    {**数据库**} 1.安装: yum install mariadb-server.x86_64 -y安装服务 systemctl start mariadb    开启服务 systemctl s ...

  9. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

最新文章

  1. JSP中的EL表达式详细介绍
  2. showModalDialog 传值及刷新
  3. SpringBoot优雅编码之:Lombok加持
  4. python图片识别-用10行Python代码进行图像识别
  5. 【转】十分有用的linux shell学习总结
  6. javascript 动态创建表格
  7. Android之在ubuntu过滤日志以及ps总结
  8. 基于visual Studio2013解决C语言竞赛题之1083人机博弈
  9. dedecms 会员发布的信息后台未审核,前台显示审核修改
  10. mysql中设置create_time和update_time默认值并实时更新
  11. mac 安装mysql5.7_mac 安装 mysql 5.7
  12. 安卓硬件模拟大师_安卓虚拟大师 可以手机运行免root带xp框架模拟器
  13. 巴比特 | 元宇宙每日必读:企业需要具备哪些资质才能开展NFT相关业务?
  14. Python PEP
  15. 雷达系列论文翻译(十二):Cartographer系列(三)
  16. [程序人生]北大学生12年不回家,你怎么看?
  17. 阿里云mysql主从有延迟怎么办_MySQL主从数据库同步延迟问题解决
  18. php 如何使用ck播放视频,CKplayer 优酷视频站外调用演示
  19. Android 游戏-超级玛丽(Android studio)
  20. 一招搞定GitHub下载加速

热门文章

  1. 数据可视化大屏电商数据展示平台开发实录(Echarts柱图曲线图、mysql筛选统计语句、时间计算、大数据量统计)
  2. C#的(int) /int.Parse()/int.TryParse()/Convent.ToInt32()的区别--推荐使用Int.TryParse()
  3. Ubuntu 20.04 画面撕裂解决办法
  4. 基于SpringBoot,vue从数据库到前端页面代码编写实战
  5. html延时属性css,CSS属性参考 | transition-delay
  6. xmlns:XML命名空间
  7. postgresql还原bak
  8. 区块链Fabric 之共识机制
  9. 机器学习经典-贝叶斯推理与机器学习
  10. python算法1.3牛顿迭代法求方程根