SAMBA服务器的配置


简述:samba服务器主要用于不同操作系统之间的通信,如果是linux访问linux之间的资源的时候,我们可以通过NFS,如果linux访问windows下的数据时,我们可以在windows下创建一个共享文件夹,具体做法参考上一篇博文,但在windows下想访问linux中的共享数据,这时我们就要通过SAMBA服务器,下面简述一下samba服务器的配置:

1.  首先我们要先查看一下系统中有没有安装samba服务:rpm –qa |grep samba在这里我已经安装完了,如果你想安装的话你可以输入:

rpm –ivh /packet/samba-3.0.28-0.el5.8   (你最好用table键将它补全)

 

2.    然后我们可以启动samba服务了,启动方式为:

/etc/init.d/smb start   (第一种) 

service smb start      (第二种)

通过图形界面       (不建议使用)

 

3.    启动完成之后,我们来看一下samba服务器的主配置文件(samba.conf)

 

4.大家知道我们要访问samba服务器是要通过端口号的,所以我们先来查看一下samba服务器用到的端口号有没有关闭,命令为:cat /etc/services |less (默认情况下137—139这几个端口都是打开的)

 

5.    smb.conf主配置文件主要由两部分组成,分别是Global Setting 和Share Definitions ,前者是整体运行环境的选项,后者则是设置共享目录的(我是这样理解的)这个你在查看smb.cof这个文件的时候你可以看到

 

6.    global setting有很多配置参数,如:

Workgroup、Sever string、 hosts allow 等等,这里我觉着用到的是hosts allow,他可以限制访问samba服务器的ip范围和域名,其它的默认就可以

 

7.    接下来我们就配置Samba用户认证了,(这个的目的就是让客户端使用登陆linux的账户),samba的用户认证主要通过两个文件实现的,一个是 /etc/samba/smbpasswd 另一个是 /etc/samba/smbusers   。其中第一个文件是在创建完成samba用户之后才会显示出来smbpasswd这个文件的。但在我的linux中,创建完成之后仍然找不到smbpasswd这个文件,经过探讨,我发现要将sam.conf中的passdb backend = tebsam 这一行注释掉,并且你要看看你的sam.conf中有没有smb passwd file = /etc/samba/smbpasswd 这句话,没有的话,你也写上。然后重启你的samba服务器:

Service smb restart

然后你在查看下,是不是已经出现了smbpasswd这个文件了。

注:创建samba用户的前提就是samba用户要对应linux中的用户,否则是创建不成功的,这个你可以尝试下。

 

8.    然后我们要在linux与windows之间的用户做一个对应关系。也是绑定的意思,就是指windows用户访问linux文件的时候可以转换成linux中的系统用户,首先我们要做一个映像文件,在/etc/samba/smb.conf 中设置 :

Username map = /etc/samba/smbusers

我的smb.conf中没这句话 我是自己加上的。做完了映像,我们就要进入smbusers这个里面对帐号进行配置了.假如我windows上的帐号是tom,我的samba服务器帐号有一个为peter,那么我就要做一个关联,当tom访问linux文件的时候,其实用的peter的帐号和密码,也就是说只有tom可以用peter帐号,如果你windows上面还有lily和lucy,你依然可以将lily lucy 和tom同时指向peter,做法为:

Vi /etc/samba/smbusers

添加一句: peter = lily lucy tom

 

9.    接下来我们配置它的安全级别,具体你可以参考资料。我这里就介绍share安全和user安全

Share安全就是指windows上的任何用户都可以访问linux的共享文件,而user安全就是要输入帐号和密码,如果是share安全的话,我们可以在 smb.conf中(GLOBAL下面)写

security = share

 

这是windows用户就可以直接\\IP地址访问过来。 

但我们如果想设置个密码(user安全),那么我们就要写成

Security = user

Guest accout = peter

Encrypt passwords = yes

Smb passwd file = /etc/samba/smbpasswd ( 验证帐号密码用的,

此时我们访问的时候就会显示输入帐号和密码,这时我们就可以使用peter的帐号和密码了

 

10.下面我们做一个共享文件夹

   Mkdir /home/share

我们想把share文件夹共享出去,这时我们在刚才说的

Smb.conf 中的share definitions中添加:

[share]

         Path = /home/share

         Writeable = yes

11.做完上面的操作,windows可能无法打开share文件夹,这时是因为权限的问题。

 

我们在linux中赋予share文件夹权限

Chmod 775 /home/share

此时我们就可以进入share文件夹,并且可以对share文件夹进行读写操作了。

如果还想进行进一步的学习,可以查阅相关资料。

 

本人也是新手,菜鸟一个,希望和大家一起交流学习,有看不明白的可以联系Q:519037208