当前位置首页 > Fedora知识

实战fedora9samba共享

阅读次数:258 次  来源:admin  发布时间:

实验环境:虚拟机+fedora9

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

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

一、

amba

简介

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中共享的时候,只能使用[url=file://ip/]\\ip[/url] 来访问,而不能使用[url=file://计算机名/]\\计算机名[/url] 来访问,解决的办法就是同时启动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 m

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

-nmbd

-smbd---2*[smbd]

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

五、

配置smb.conf文件

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

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

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

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

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 //设置工作组

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

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

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

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

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

[share]

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

comment = samba

//描述信息

ath = /tmp/share

//共享路径

ublic = 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 一般是没有什么问题的。

现在我们可以用[url=file://ip/]\\ip[/url]或者[url=file://计算机名/]\\计算机名[/url] 来访问共享了。

七、

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

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

#setsebool –P samba_enable_home_dir o

#setsebool –P samba_export_all_ro o

#setsebool –P samba_export_all_rw o

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

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

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

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

上一篇:IIS7.5配置IIS脚本映射实现Asp.Net的Http管道程序
下一篇:为什么IIS的应用池回收设置默认为1740分钟