红联Linux门户
Linux帮助

配置smb快要崩溃了,能登录但不 能访问

发布时间:2008-12-22 19:47:01来源:红联作者:xtnu
在FC8上VMWARE跑XP
FC8能访问XP
XP访问F8时能登录,但访问共享文件夹时提示没有权限,,
我已经把登录用户smbpasswd -a xxxxx 了
smbusers里也加了用户的映射关系了
共享目录也chmod 777 属主也是xxxxx 了
怎么办啊????(5ty( (5ty( (5ty( (5ty(
文章评论

共有 14 条评论

  1. 000000000oaa 于 2009-07-06 16:29:42发表:

    用FC的都会出现、这个鬼问题。防火墙规则清除下,要打开两个端口,一个SMB,还有一个NMB。FC默认是不开的,用红帽子吧,简单方面

  2. 000000000oaa 于 2009-04-02 14:49:56发表:

    F7以上都有这个问题出现,防火墙关掉,清除掉防火墙规则,重启就能访问了

  3. 000000000oaa 于 2009-03-02 22:16:04发表:

    只能用IP访问说明你的共享设置是没有问题,为什么不能用名称访问呢? 请检查是否开启了nmb服务,这个服务通常是跟smb服务一起启动的,他负责netbios名称的解析,但是在fedora9中启动smb服务的时候nmb服务并不会启动,所以你要手动启动才会为你解析netbios名称的。。。你可以setup设置一下服务自动启动。。。。
    pstree|grep mbd 看一下这两个服务是不是都启动了,希望可以帮到你。。。。更详细的看我的这个文章!
    实战fedora9 samba共享 http://hi.baidu.com/lovehack2006 ... 2c3e116c22ebe6.html
    本人亲自试验的!!
    FC的系统。你看这篇文章就能完全解决问题了。

  4. kanghq2007 于 2009-02-17 14:51:58发表:

    webmin 配置比较直观

  5. 藤真 于 2009-01-30 18:31:06发表:

    实验环境:虚拟机+fedora9

    实验目的:练习fedora9的samba共享

    教程适用:想在fedora9上面使用共享的菜鸟

    一、 samba简介

    SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务,NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block) 协议,这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享 打印机和文件等。因此,为了让Windows和Unix/Linux计算机相集成,最好的办法就是在 Unix/Linux计算机中安装支持SMB协议的软件。这样使用Windows的客户端不需要更改设置, 就能像使用Windows NT或Windows 2000服务器一样,使用Unix/Linux计算机上的共享资源了。

    Samba使SMB协议运行在NetBIOS协议上,并且使用Windows的 NetBEUI协议让Unix/Linux服务器 可以在Windows的网络邻居上被访问到。


    二、 Samba的守护进程

    1. smbd 监听139 TCP端口 设置共享目录、打印等

    2. nmbd 137. 138 UDP端口 管理群组、NetBIOS 等解析工作

    这里要注意的是fedora9基于安全考虑,把smb和nmb两个服务给分离了,平时我们在使用samba服务的时候,在启动smb服务的同时nmb这个服务也会跟着启动,fedora9中则不然,这就造成了我们设置好fedora9中共享的时候,只能使用\\ip 来访问,而不能使用\\计算机名 来访问,解决的办法就是同时启动smb和nmb服务

    三、 软件的安装

    使用rpm -qa|gerp samba来检查是否安装了samba 软件包,如果没有安装的话请自行安装以下的软件包

    # rpm -ivh samba-3.2.0-1.pre3.9.fc9.i386.rpm

    # rpm -ivh samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm

    # rpm -ivh samba-common-3.2.0-1.pre3.9.fc9.i386.rpm

    # rpm -ivh samba-client-3.2.0-1.pre3.9.fc9.i386.rpm

    # rpm -ivh system-config-samba-1.2.63-1.fc9.noarch.rpm

    或者你用yum install samba* -y就可以一次搞定了。


    四、 启动samba服务

    #service smb start (/etc/init.d/smb start )启动smb服务

    #service nmb start (/etc/init.d/nmb start )启动nmb服务

    当然你也可以使用chkconfig --level smb 35 on 来设置启动级别,这个不多说了。

    我们来检查一下是是否正常启动两个服务,使用命令 pstree | grep mb

    显示为如下如果则为正常启动:

    |-nmbd

    |-smbd---2*[smbd]

    |-tomboy---2*[{tomboy}]


    五、 配置smb.conf文件

    知识点,samba 有四种安全级别,它们分别是:

    share:用户不需要用户名和就可登陆samba 服务器

    user:用户需要输入用户名和密码才可以登陆samba服务器

    server:请自行查资料,不常用,略

    domain:请自行查资料,不常用,略

    对于我们小菜来说,我们使用user级别就可以了,如果偷懒的话你可以用share

    我们先备份配置文件smb.conf

    #cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

    然后查找你的security = user是否为user如果是share的话改为user

    #vi /etc/samba/smb.conf

    workgroup = WORKGROUP //设置工作组

    server string = %U's samba %v //描述信息%U代表当前登陆用户

    netbios name = fedora //netbios名字,fedora9默认没有启用

    log file = /var/log/samba/log.%m //日志文件保存路径%m你的windows主机名

    max log size = 50 //日志最大容量

    security = user //安全级别,user需要用户名和密码,share级别则不要

    [share] //建立一个共享名为share的共享

    comment = samba //描述信息

    path = /tmp/share //共享路径

    public = no //是否允许guest用户访问(相当于guest ok = yes/no)

    writable = yes //是否可写

    write list = lovehack //可以写入的用户列表(@代表用户组)


    下面建立共享目录并添加权限

    #mkdir /tmp/share

    #chmod 775 /tmp/share

    #chown lovehack.lovehack /tmp/share

    六、 添加用户并测试共享

    添加访问samba的用户,命令smbpasswd -a 用户名

    #smbpasswd -a lovehack //lovehack为事先建立好的用户

    然后输入两次密码就可以了,注意这里的密码和你登陆系统的密码是不一样的,只是用来访问共享的密码。

    现在我们就可以来测试一下配置文件是否正确:testparm 一般是没有什么问题的。

    现在我们可以用\\ip或者\\计算机名 来访问共享了。

    七、 解决fedora9中selinux拒绝访问共享的问题

    在其它版本的linux中(AS5,AS4,Centos)中做如上设置后就可以正常访问共享了,但是在fedora9中却不行,我们只能看到共享,但是访问的时候会出现拒绝访问的情况,这是为什么呢?因为selinux对samba共享做了限制,我们只用把selinux中对samba的限制给解决了就行了,我们做如下设置就OK了,这也是我做此教程的目的:

    #setsebool -P samba_enable_home_dir on

    #setsebool -P samba_export_all_ro on

    #setsebool -P samba_export_all_rw on

    我们可以用命令getsebool -a | grep samba

    查看上面三项是否打开,打开的话你的共享应该就正常了。

    如果还是出现不能访问的情况,请清除你的防火墙规则:

    iptables -F //清除规则

    iptables -L //查看是否清除掉了!


    教程记录:独自等待 QQ:59161949

    我的博客:http://hi.baidu.com/lovehack2006

  6. 藤真 于 2009-01-30 18:29:18发表:

    楼上说的对

  7. yuhongchun 于 2009-01-17 23:29:41发表:

    恩,从Selinux,iptables及samba配置各方面找下原因.

  8. 184294950 于 2009-01-14 09:00:59发表:

    把SELINUX关了
    输入iptables-F

  9. liaohuachao 于 2009-01-08 14:54:26发表:

    看看是部是你的iptables阻挡了。

  10. 000000000oaa 于 2008-12-29 12:17:18发表:

    把你的SMB。CONF脚本贴出来帮你看看

  11. guomingq 于 2008-12-28 12:23:54发表:

    selinux?是开着还是关的
    如果开了 那共享目录只能在
    /var/lib/samba/下

  12. 大宝 于 2008-12-25 20:07:02发表:

    偶用Ubuntu,图形化近乎“傻瓜式”配置,根本没啥烦恼~

  13. yancvv 于 2008-12-23 22:38:03发表:

    我也遇到这样的问题.不知道怎样去解决..

  14. qivsgao 于 2008-12-23 14:48:33发表:

    应该是smb用户和liunx用户的关联问题