实战fedora9 samba共享

2008年12月27日 星期六 17:10

实验环境:虚拟机+ fedora9

实验目的:练习 fedora9samba 共享

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

一、         samba 简介

SMB 协议是建立在 NetBIOS 协议之上的应用协议,是基于 TCP138139 两个端口的服务, NetBIOS 出现之后, Microsoft 就使用 NetBIOS 实现了一个网络文件 / 打印服务系统。这个系统基于 NetBIOS 设定了一套文件共享协议, Microsoft 称之为 SMBServer Message Block 协议,这个协议被用于 Lan ManagerWindows 服务器系统中,实现不同计算机之间共享 打印机和文件等。因此,为了让 WindowsUnix/Linux 计算机相集成,最好的办法就是在 Unix/Linux 计算机中安装支持 SMB 协议的软件。这样使用 Windows 的客户端不需要更改设置, 就能像使用 Windows NTWindows 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    //查看是否清除掉了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值