它有一个配置文件的:/etc/sysconfig/selinux,把里面的“SELINUX=Enforcing”改成“SELINUX=disabled”重启就可以了,这是CentOS里的位置,RH9下的应该也差不多,你找一下就知道了。
还有,你进入图形界面时可以在管理项下找到安全等级和防火墙,打开在里面就可以设置防火墙和selinux
SELinux提供了3种工作模式:Disabled、Permissive和Enforcing,而每种模式都为Linux系统安全提供了不同的好处。
1、Disable工作模式(关闭模式)
在Disable模式中,SELinux被关闭,默认的DAC访问控制方式被使用。对于那些不需要增强安全性的环境来说,该模式是非常有用的。
例如,若从你的角度看正在运行的应用程序工作正常,但是却产生了大量的SELinux
AVC拒绝消息,最终可能会填满日志文件,从而导致系统无法使用。在这种情况下,最直接的解决方法就是禁用SELinux,当然,你也可以在应用程序所访问的文件上设置正确的安全上下文。
需要注意的是,在禁用SELinux之前,需要考虑一下是否可能会在系统上再次使用SELinux,如果决定以后将其设置为Enforcing或
Permissive,那么当下次重启系统时,系统将会通过一个自动SELinux文件重新进程标记。
关闭SELinux的方式也很简单,只需编辑配置文件/etc/selinux/config,并将文本中SELINUX=更改为SELINUX=disabled即可,重启系统后,SELinux就被禁用了。
2、Permissive工作模式(宽容模式)
在Permissive模式中,SELinux被启用,但安全策略规则并没有被强制执行。当安全策略规则应该拒绝访问时,访问仍然被允许。然而,此时会向日志文件发送一条消息,表示该访问应该被拒绝。
某些情况下,可使用audit2allow命令来读取SELinux审核日志并生成新的SELinux规则,从而有选择性地允许被拒绝的行为,而这也是一种在不禁用SELinux的情况下,让应用程序在Linux系统上工作的快速方法。
3、Enforcing工作模式(强制模式)
从此模式的名称就可以看出,在Enforcing模式中,SELinux被启动,并强制执行所有的安全策略规则。
SUSE Linux 默认不会开启 SELinux
YaST-->系统-->运行级别-->关闭SELinux 即可
---
如果你用了内核参数的形式的,必须修改GRUB,在 引导代码后添加:
selinux=0
不可以
13 方法1:adb在线修改
关闭 seLinux:
打开seLinux:
Enforcing:seLinux已经打开;
Permissive:seLinux已经关闭;
14 方法2: 从kernel中彻底关闭 (用于开机初始化时的seLinux权限问题,要重编bootimage)
修改LINUX/android/kernel/arch/arm64/configs/XXXdefconfig文件(找相应config文件)
去掉CONFIG_SECURITY_SELINUX=y 的配置项
2 在sepolicy中添加相应权限
21 修改依据:
log 信息:
avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类别 permissive=0
22 修改步骤:
找相应的“源类型te ”文件
有两个位置可能存在相应的te文件:
位置一:LINUX/android/external/sepolicy
位置二:LINUX/android/device/qcom/sepolicy/common
23 按如下格式在该文件中添加:
allow 源类型 目标类型:访问类别 {权限};
24 举例
Kernel Log:
avc: denied { execheap } for pid=7201 comm="combaiduinput" scontext=u:r:untrusted_app:s0tcontext=u:r:untrusted_app:s0tclass=processpermissive=0
修改:
在LINUX/android/external/sepolicy/untrusted_appte 中添加:
[java] view plain copy
<span style="font-size:24px;color:#009900;">allow untrusted_app untrusted_app:process { execheap };</span>
备注:
在这个例子中,由于源类型和目标类型都是untreated_app, 所以也可以写成:
[java] view plain copy
<span style="font-size:24px;color:#009900;">allow untrusted_app self:process { execheap };</span>
3 添加权限后的neverallowed冲突
31 编译报错:
libsepolcheck_assertion_helper: neverallow on line xxx ofexternal/sepolicy/domainte ……
32 原因:
新添加的sepolicy项目违反了domainte 中规定的的总策略原则。所以该条权限策略不能添加,如果强行添加的话有CTS测试失败的风险。
33 解决方法:
1从运行log中找到要访问的目标名称,一般是name字段后的名称
avc: denied { read write } for pid=303 comm="mediaserver"name="tfa9890"dev="tmpfs" ino=3880 scontext=u:r:mediaserver:s0tcontext=u:object_r:device:s0tclass=chr_file permissive=0
2找到相应的_contexts文件。
一般有file_contexts, genfs_contexts, property_contexts, service_contexts 等文件
3在contexts文件中指定要访问的目标为一个“源类型 ”有权限访问的“目标类型”
如:在file_contexts中添加: /dev/tfa9890 u:object_r:audio_device:s0
34 举例
添加权限:
在mediaserverte中添加allow mediaserver device:chr_file { read write open};
编译报错:
libsepolcheck_assertion_helper: neverallow on line 258 ofexternal/sepolicy/domainte (or line 5252 of policyconf) violated byallow mediaserver device:chr_file { read write open};
违反了domainte 258的:
neverallow {domain –unconfineddomain –ueventd } device:chr_file { open read write}
运行Log:
avc: denied { read write } for pid=303 comm="mediaserver"name="tfa9890" dev="tmpfs" ino=3880 scontext=u:r:mediaserver:s0 tcontext=u:object_r:device:s0tclass=chr_file permissive=0
修改步骤:
1目标名称是: tfa9890, 其在系统中的路径是: /dev/tfa9890, 是audio相关的设备文件
2源类型是mediaserver, 在mediaserverte 文件中发现其具有 audio_device 目标类型的权限
3所以在file_contexts 中添加 “/dev/tfa9890 u:object_r:audio_device:s0” 可以解决问题
Linux中的防火墙一般分为:SELinux 和 iptables
因此,想要关闭防火墙就需要把这两个都关闭才行。具体需要做的操作分别如下:
(1)关闭iptables:i)查看iptables的启动状态:
[root@app05 ~]# service iptables statusii)如果处于开启状态,则关闭:
[root@app05 ~]# service iptables stopiii)如果想要永久关闭iptables,那么还要删掉iptables的开机自启动:
查看开机自启动列表中有没有iptables:
[root@app05 ~]# chkconfig --list如果存在,则删掉:
[root@app05 ~]# chkconfig --del iptables注:如果发现开机自启列表中存在ip6tables,那么也需要删掉:
[root@app05 ~]# chkconfig --del ip6tables到此,iptables就已经可以永久关闭了
(2)关闭SELinux:i)查看SELinux的启动状态:
[root@app05 ~]# getenforceii)如果发现是开启状态,则将它关闭:
[root@app05 ~]# setenforce 0注:这种关闭方式是临时关闭,下次重启电脑的时候又会自动启动,如需永久关闭,还需继续执行下面的命令
iii)永久关闭SELinux:
[root@app05 ~]# vim /etc/selinux/config将 SELINUX=enforcing 和 SELINUXTYPE=targeted 注释掉,也就是行首添加一个 # 号
#SELINUX=enforcing#SELINUXTYPE=targeted
然后,添加下面这句代码:
SELINUX=disabled接着保存退出(多按几次Esc,然后按 :wq 就可以了)
最后重启系统:
[root@app05 ~]# reboot到此,关于如何关闭Linux中的防火墙的操作就全部结束了,希望对大家有所帮助
欢迎分享,转载请注明来源:品搜搜测评网