描述:Samba服务器是实现Linux网络与Microsoft网络的资源共享的一个工具。通过SMB协议实现资源共享。
安装Samba:安装Samba服务器需要的软件有如下图所示(在这里我使用的是centos7.0),在这里安装Samba服务器时,可以使用本地源安装。首先挂载光盘,接着使用命令“yum install samba -y”就可以安装好Samba服务器了。
Samba配置文件:Samba服务器的配置文件在/etc/samba/文件夹下面,如下图所示。文件夹中默认是只有三个文件,下图中的smb.conf.bak文件是我备份的文件,这样的好处不用多说。Samba服务器的配置主要是通过smb.conf配置文件来完成的。该文件夹下的smb.conf.example文件是作为例子的,可以通过查看该文件来配置Samba服务器。
举例说明:
接着通过举例子来进行说明,smb.conf文件主要有两个字段,分别为global和share definitions,global用于定义全局参数,share definitions用于定义用户的共享。如下图所示,修改配置文件smb.conf文件如下图所示。
[ global ] //设置全局参数
workgroup = WORKGROUP //定义Samba服务器所在的工作组是WORKGROUPsecurity = user //security支持5个安全等级,包括“share(采用匿名登录)、user(Samba服务器验证成功后登录,默认)
、server(由一台服务器验证(可以是Samba服务器,也可以是window服务器),但是必须指明服务器的NetBIOS)、
domain(表示该Samba服务器在某个window域中,需要指明DPC/BDC的NetBIOS )、ads(表示该Samba服务器在
某个window的活动目录中承担一台成员服务器,需要指明DPC/BDC的NetBIOS)”
map to guest = bad user //将所有Samba主机不能识别的用户,都映射成guest用户
server string = zzm samba server version %v //定义Samba服务器的描述信息
netbios name = zzm samba //设置显示的主机名称(在网上邻居上显示的名称)
log file = /var/log/samba/log.%m //定义Samba日志的保存路径
passdb backend = tdbsam //用户后台,samba有三种用户后台:smbpasswd, tdbsam和ldapsam.
printing = cups //设置打印系统类型,通常包括bsd,plp,cups等,默认是cups
printcap name = cups //选择一个printcap文件
load printers = yes //自动加载打印机列表
cups options = raw //向打印机cups驱动传递参数
[ sharefile ] //设置共享文件
comment = home sharefile directories //设置共享资源的描述信息
path = /smb/sharefile //设置共享资源路径
public = yes //设置共享资源对所有用户开放
writeable = yes //设置共享资源开放些的权限(这个是下面两条命令的基础)
create mask = 0644 //新建文件的初始权限
directory mask =0755 //新建目录的初始权限
[ mmm ] //设置共享文件
comment = this is mmm's own file //共享资源的描述信息
path = /smb/mm //共享资源的存放路径
valid users = mmm //设置可以访问的有效身份,在这里是用户mmm,也可以设置为组的权限(例如:
valid users = @mmm,这个表示为可以访问的有效身份组为mmm)
其他的同上。
创建用户与共享文件
配置完成后,就是创建共享文件、创建可以登录的用户了
groupadd mmm //创建组mmm
useradd mmm -s /sbin/nologin //创建用户mmm(该用户不可以登录系统)
smbpasswd -a mmm //设置用户密码(根据提示设置密码就好了)
接着创建共享目录
mkdir -p /smb/{mmm,sharefile} //创建文件 mmm 与 sharefile
chown nobody:nobody /smb/sharefile/ //设置共享文件权限
chown mmm:mmm /smb/mmm //设置文件共享权限
当然对于centos7来说,还需要设置SELinux与Firewalld,在这里就不多讲了,可以自行百度。当然为了测试,可以关掉防火墙与SELinux,命令如下
setenforce 0 //暂时关掉SELinux
systemctl stop firewalld.service //关掉防火墙
接着需要启动Samba服务器,在这里需要注意一下,由于依赖关系,需要启动两个服务分别如下
service smb start //启动服务(《stop:停止 》 《restart:重启 》《status:状态》 )
service nmb start //启动服务(《stop:停止 》 《restart:重启 》《status:状态》 )
或者是想下面这样来启动Samba服务,但是这个样子的话不会有提示
systemctl start smb //启动服务(《stop:停止 》 《restart:重启 》《status:状态》 )
systemctl start nmb //启动服务(《stop:停止 》 《restart:重启 》《status:状态》 )
测试
万事俱备,只欠测试了,接着就在window客户端来进行测试吧!(也可以在Linux端进行测试,因为我们也安装了Samba-client,在这里就不多说了,可以自行百度)
在“运行”中输入服务器的IP地址,格式如下图所示,接着直接回车就好了,当然还会让我们输入有权限访问的名称,其实就是我们之前创建的账号啦,输入用户与密码,就会弹出相对应的框框了。
下图就是创建的文件,实现了Linux到window的资源共享