这篇是samba安装篇后续版:Fedora13学习系列2---安装samba
http://hi.baidu.com/zykbcatv/blog/item/7b065f131b2274def7039e9b.html
安装samba服务当时只为了在虚拟机与主机之间的文件分享,前期已经搞定了在LINUX系统中访问window中的共享资源。在windows访问linux遇到问题了,搁了几周终于有兴趣来折腾。。。分享一下解决问题的过程:
1 windows可以ping通linux主机但无法访问
无法访问的原因是没有合法的用户访问,提示权限不对。
这个问题是我错误的理解了samba用户与linux系统用户的概念。
我的LINUX系统中有三个用户:root, samba, zengyong. 我想直接用这三个用户名与对应的密码就可以在window端访问samba共享,实际上是错误的。
samba还要单独设置这些系统中已经有的用户名的密码,用这个命令:smbpasswd 重新设定这个用户的samba登录密码
(samba有很强大的配置选择,考虑如果对方拥有samba的访问权限,就知道了系统中的用户名,从安全角度考虑,还可以做用户名的映射)
2 设定好samba用户后,可以列出用户列表,无法访问。
解决了samba登录的问题,但登录后无法写入文件,主目录甚至不能访问,直接提示权限不够。
我的系统中共享了samba用户的主目录/home/samba 专门开了一个共享目录/mnt/share.
第1点:登录samba服务器的登录名在LINUX系统中一定是有权限操作
如我在windows端用的samba用户名登录,在LINUX系统中查看/mnt/share目录可以知道:samba用户拥用目录的读写权限。
第2 点 smb.conf配置文件中需要设置对共享目录的访问权限限制
设置1 :哪些用户可以访问:guest ok = yes所有用户都可以访问
设置2 :browseable = yes 列出可以访问的目录(这个不是必须,不列出,也可以直接通过路径访问,类似于windows中的D$这种)
设置3 :writable = yes 开启目录写权限, 如果是read only = on 则只能读,不能写
设置4 (最重要的一点,我就是没有设置导致无法写入/mnt/share目录,也不能进入/home/samba主目录。
这就是SELINUX设置
chcon -R -t samba_share_t /home/samba
chcon -R -t samba_share_t /mnt/share share
还有一个命令,未尝试
setsebool -P samba_export_all_rw on(允许写)
命令可以参考smb.conf 配置文件中的前面的说明文档
有一个更简单的办法,直接禁用selinux
vi /etc/sysconfig/selinux
selinux=disable 把原来的enable 改为disable即可