SAMBA服务器

用过windows的人都知道通过网络邻居可以共享资源,但是linuxwindows之间如何共享呢?

Linux下的共享软件samba,使用samba可以让linuxwindows共享资源。

Samba是一组软件包,使linux支持smb协议,该协议是TCP/IP上实现的,使用它可在windowslinux间资源共享。

SMB协议:(server message block)服务信息块,它提供了再网络上的不同计算机之间共享文件、打印机等。

Samba的核心是俩个守护进程smbdnmbd程序

Smbd作用:处理到来的SMB数据报,为使用该软件包的资源与linux进行协商

Nmbd作用:使其他主机或工作站能浏览linux服务器

现在我们开始来安装一台samba服务器

   首先我们使用命令来查询该主机是否安装samba或查看已经安装了何种版本。如下图

 

从图中可以看到现在系统已经安装了smb包。如果现在没有安装,我们可以使用下面命令安装,    

yum install samba -y 来安装。

• Samba服务安装完毕之后,并不是直接可以使用WindowsLinux

的客户端访问Samba服务器,我们还必须对服务器进行设置,下面需

要做的操作就是说我们要告诉Samba服务器将哪些目录共享出来给客

户端进行访问,并根据需要设置其他选项,比如添加对共享目录内容

的简单描述信息和访问权限等具体设置。

• 作为Linux系统工程师了解及熟悉Samba服务器的搭建流程是至关重

要。 基本的Samba服务器的搭建流程主要分为四个步骤:

• [1]、编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录

设置共享权限。

• [2]、在smb.conf文件中指定日志文件名称和存放路径。

• [3]、设置共享目录的本地系统权限。

• [4]、重新加载配置文件或重新启动smb服务,使用配置生效

Samba工作流程

• (1)客户端请求访问Samba服务器上的Share共享目录。

• (2) Samba服务器接收到请求后,会查询主配置文件smb.conf,看是

否共享了Share目录,如果共享了这个目录则查看客户端是否有权限

访问。

• (3)Samba服务器会将本次访问信息记录在日志文件之中,日志文件

的名称和路径都是需要我们设置。

• (4)如果客户端满足访问权限设置,则允许客户端进行访问。

现在我们用实例来做一个samba共享,会更容易理解。

1)建立各部门专用共享目录

 

同时设置/companydata 共享目录的用户权限

 

 

 

2)添加samba服务器描述及设置smbpasswd文件

 

 

2)添加用户和组

先建立销售部组sales,技术部组tech,然后使用useradd 命令添加总经理帐号gm 及各个

员工的帐号并加入相应的用户组

接着使用smbpasswd命令添加samba用户

 

 

 

4)配置smb.conf文件

1)建立单独配置文件

 

 

 

(2)设置主配置文件smb.conf

这里我们配置smb.conf 主配置文件,在global 中添加相应字段,确保samba 服务器的主

配置文件可以调用独立的用户配置文件和组配置文件。

include= /etc/samba/%U.smb.conf表示使samba服务器加载/etc/samba目录下格式为

户名.smb.conf的配置文件。

include= /etc/samba/%G.smb.conf表示使samba服务器加载/etc/samba目录下格式为

.smb.conf的配置文件。

设置共享目录/companydata/share

 

 

5)设置总经理gm配置文件

vim /etc/samba/gm.smb.conf

 

6)设置销售组sales配置文件

 

7)设置技术部tech配置文件

vim /etc/samba/tech.smb.conf

 

(8)开启samba服务

service smb start

 

9测试

 

/companydata/share 目录只读

 

 

 

在这里技术部的员工就看不到销售部的共享目录。同时对public 目录只读权限,对tech 目录有读写权限。

因为禁止对共享目录sales 访问,就知道了\\192.168.0.6\sales 路径不能访问

 

 

至此,我们对简单的smb共享就完成了,也达到了对预期目标的要求,希望对各位初学者有所帮助!!!