在实现《CentOS(RedHat) 6.2下Samba配置》的过程中,发现CentOS 6.2的Samba share总是没有权限写文件,已经试过在Windows XP/Windows 2003和2台CentOS。当然已经在CentOS端给了所有人完整的权限。而在RH 5.0系列是没有这个问题的。
网上找了一下,参考以下2篇文章:
试了一下运行:
chcon -Rt samba_share_t /var/samba/resource |
还是不行。
-
CentOS 6.0 samba share权限拒绝访问不能创建文件 原来是SELinux在作怪,修改/etc/selinux/config如下:
[root@server1 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
重启server后HOME 目录可以写了,可是建立的本地Samba share始终不能写入。
后来想到可能是smb.conf配置有问题,smb.conf配置如下:
[resource] |
用testparm一测试果然有问题:
[resource] |
“writable = yes” 哪里去了?看了看HOME的输出都是”read only = No”,于是把配置改成如下:
[resource] |
重启SMB service后,问题搞定!,testparm也能正常输出:
[resource] |
我这个版本Samba难道不认识writable = yes ,只认read only = No ,奇怪?
[root@server2 samba]# uname -a |
带着这个疑问,我又进行了测试,发现如果我指定了用户或组的情况下,writable = yes是可以的:
[resource] |
testparm正常输出:
[root@server1 ~]# service smb stop |
对于这个设计我只能表示无奈,亦或是自己太无知了。