SAMBA服务器
用过windows的人都知道通过网络邻居可以共享资源,但是linux和windows之间如何共享呢?
Linux下的共享软件samba,使用samba可以让linux和windows共享资源。
Samba是一组软件包,使linux支持smb协议,该协议是TCP/IP上实现的,使用它可在windows和linux间资源共享。
SMB协议:(server message block)服务信息块,它提供了再网络上的不同计算机之间共享文件、打印机等。
Samba的核心是俩个守护进程smbd和nmbd程序
Smbd作用:处理到来的SMB数据报,为使用该软件包的资源与linux进行协商
Nmbd作用:使其他主机或工作站能浏览linux服务器
现在我们开始来安装一台samba服务器
首先我们使用命令来查询该主机是否安装samba或查看已经安装了何种版本。如下图
从图中可以看到现在系统已经安装了smb包。如果现在没有安装,我们可以使用下面命令安装,
yum install samba -y 来安装。
• 在Samba服务安装完毕之后,并不是直接可以使用Windows或Linux
的客户端访问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共享就完成了,也达到了对预期目标的要求,希望对各位初学者有所帮助!!!