从win访问,没有写的权限,查看日志,找原因:
[root@testserver ~]# tail /var/log/messages 发现提示是selinux的问题 Aug 28 10:33:20 testserver setroubleshoot: SELinux is preventing samba (/usr/sbin/smbd) "write" to web (usr_t). For complete SELinux messages. run sealert -l d4c5511c-597c-4c79-8ff6-652f000c29f7 vi /etc/selinux/config
SELINUX=enforcing 改为 SELINUX=disabled sync;sync;shutdown -r now 搞定!!! 注:关于SELINUX=disabled,有些人觉得不安全,本人的服务器只是用来做测试用,所以直接关闭。也可以不关闭SELINUX,通过修改selinux的规则放行smb服务启动。 =====================================================================================
方法一:关闭SELinux,并修改配置文件,使系统启动时不启动SELinux。 [root@Jie ~]# vi /etc/sysconfig/selinux SELINUX=enforcing 把 SELINUX设定为disable, 下次启动系统后将会停止SElinux。 或者在/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 disabled
方法二:不关闭SELinux配置 samba的方法 将smb.conf中如下这两行启用(去掉行首的;号就可以了) setsebool -P samba_domain_controller on setsebool -P samba_enable_home_dirs on 这两行生效后,自己的home目录就可以正常读写了。 如果想将/home/samba/temp目录设置成完全的共享就应该在字符状态写输入:chcon -t samba_share_t /home/samba/temp 同时不要忘记将/home/samba/temp目录属性设置成777 就可以了。其它和以前的FC版本应该没有什么区别了。 在图形界面下修改SELinux的规则,system-config-selinux中,boolean,samba下所有的对勾都点上(PS:我也不知道具体是哪一个),也可。 附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
|
|