第一种方法:关闭SELinux,并修改配置文件,使系统启动时不启动SELinux。linux
不关机的关闭方法是:setenforce 0缓存
永久关闭是:安全
vi /etc/sysconfig/selinux服务器
# This file controls the state of SELinux on the system.网络
# SELINUX= can take one of these three values:dom
# enforcing - SELinux security policy is enforced.socket
# permissive - SELinux prints warnings instead of enforcing.ide
# disabled - SELinux is fully disabled.工具
SELINUX=enforcingui
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
把 SELINUX设定为disable, 下次启动系统后将会中止SElinux。
还有一种是;
在核心参数后加上 selinux=0 (中止) 或 selinux=1 (开启)参数
vi /boot/grub/menu.lst
title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0
initrd /initrd-2.6.18-1.2798.fc6.img
检查SELinux现时况态的命令是; getenforce
第二种方法 :不关闭SELinux配置 samba的方法 (在51cto网上找到的)
将smb.conf中以下这两行启用(去掉行首的;号就能够了)
setsebool -P samba_domain_controller on setsebool -P samba_enable_home_dirs on这两行生效后,本身的home目录就能够正常读写了。
针对于目录共享设置:
如 /home/samba/test目录设置成彻底的共享就应该在字符状态写输入:
chcon -t samba_share_t /home/samba/test
同时不要忘记将/home/samba/test目录属性设置成777 就能够了。
默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操做,即便你在smb.conf中容许了这项操做。
假设你已经配置了共享目录/share并容许用户进行读写,而你又不想关闭SELinux的话,能够试试如下操做:
程序代码:
#/usr/sbin/setsebool -P allow_smbd_anon_write=1
#chcon -t public_content_rw_t /share
其中第一条语句设置SELinux放行标记了public_content_rw_t的内容,第二条语句把欲共享的/share目录标记为public_content_rw_t。
附SELinux资料:
selinux简介
SElinux 在linux内核级别上提供了一个灵活的强制访问控制系统(MAC),这个强制访问控制系统是创建在自由访问控制系统(DAC)之上的。
DAC是指系统的安全访问控制都是由系统管理员root自由管理的,不是系统强制行为
MAC运行的时候,好比一个应用程序或者一个线程以某个用户UID或者SUID运行的时候一样对一些其余的对象拥有访问控制限制,好比文件,套接子(sockets)或者其余的线程
经过运行SElinux MAC内核能够保护系统不受到恶意程序的侵犯,或者系统自己的bug不会给系统带来致命影响(把影响限定在必定范围内)
SElinux为每个用户,程序,进程,还有文件定义了访问还有传输的权限。而后管理全部这些对象之间的交互关系
对于SELinux设定的对象全限是能够根据须要在安装时候规定严格程度,或者彻底禁用
在大多数状况下,SElinux对于用户来讲是彻底透明的,普通用户根本感受不到 Selinux的存在,只有系统管理员才须要对这些用户环境,以及策略进行考虑。这些策略能够按照须要宽松的部署或者应用严格的限制,Selinux提供 了很是具体的控制策略,范围覆盖整个linux系统
好比,当一个对象如应用程序要访问一个文件对象,内核中的控制程序检查访问向量缓存 (AVC),从这里寻找目标和对象的权限,若是在这里没有发现权限定义,则继续查询安全定义的上下关联,以及文件权限,而后做出准许访问以及拒绝访问的决 定。若是在var/log/messages出现avc: denied信息,则代表访问拒绝。
目标和对象经过安装的策略来决定自身的安全关联,同时这些安装的策略也负责给系统产生安全列表提供信息。
除了运行强制模式之外,SELinux能够运行在许可模式,这时候,检查AVC以后,拒绝的状况被记录。Selinux不强制使用这种策略.
如下介绍一下SELinux相关的工具
/usr/bin/setenforce 修改SELinux的实时运行模式
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
若是要完全禁用SELinux 须要在
/etc/sysconfig/selinux中设置参数selinux=0 ,
或者在/etc/grub.conf中添加这个参数
/usr/bin/setstatus -v