本文主要分为两个模块:
目录
1、Samba 搭建以及关键参数解释
首先介绍一下 Samba 的搭建,其实采用了一种很简单的方式 yum 安装,因此一个命令搞定yum install samba*
其实我们在安装前可以看下 yum install samba* 这个命令为我们安装了些什么
其中我们可以看到我们即将要安装的 Samba 版本是4.9.1,我们说几个要用到的工具:
samba-common :主要提供 Samba 服务器的设置文件与设置文件语法检验程序 testparm
samba-client :客户端软件,主要提供 linux 主机作为客户端时,所需要的工具指令集
samba-swat :基于 https协议的 Samba 服务器 web 配置界面
samba :服务器端软件,主要提供 Samba 服务器的守护程序,共享文档,日志的轮替,开机默认选项 Samba服务器安装完,会生成配置文件目录 /etc/samba 和其它一些 Samba 可执行命令工具,/etc/samba/smb.conf是核心配置文件。
接下来配置一个共享文件,我这里共享路径是/home
具体的配置,路径/etc/samba/smb.conf
配置文件中增加共享目录:
[public]
comment = pub //描述信息
path = /home //共享路径
browseable = yes //用来指定该共享是否可以浏览
writable = yes // 共享路径是否是可写入的权限
public = yes //用来指定该共享是否允许guest账户访问
create mode = 0777
directory mode = 0777
printable = no
guest ok = yes //同public
[global]
workgroup = SAMBA //设定Samba Server所要加入的工作组或域
security = user //安全验证方式 总共4种
map to guest = Bad User //任何用户都可以访问
passdb backend = tdbsam //定义用户后台类型,总共有三种
printing = cups
printcap name = cups
load printers = yes //设置在Samba服务启动时是否共享打印机设备
cups options = raw //打印机的选项
参数说明:
security 安全验证四种方式:
security=user Samba Server 共享目录只能被授权的用户访问,由 Samba Server 负责检查账号和密码的正确性。账号和密码要在本 Samba Server 中建立。
security=share share:用户访问 Samba Server 不需要提供用户名和口令, 安全性能较低。高版本已经弃用,可更换为下面:
无用户密码访问方式:
security=user
map to guest = Bad User 配置即可
security=server Server 来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的 Windows 用户和口令集中到一个 NT 系统上,使用 Windows NT进行 Samba 认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
security=domain 域安全级别,使用主域控制器(PDC)来完成认证
passdb backend:用户后台 三种方式:
smbpasswd、tdbsam 和 ldapsam
smbpasswd:密码
tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下
ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server
更改完之后测试配置文件是否有问题:testparm -v
启动进程 service smb start
可以在 windows 上访问 win+r 输入\\ip
当时在配置完成之后访问时出现了要输入网络凭据,查了很多资料,最后发现是参数未配置正确,如果不需要用户,任何用户都可以访问这种情况的话需要改一下 global 里面的参数
security=user 增加 map on guest = Bad User
如果版本低的话可以试下 security = share
2、windows挂载
首先我们在windows机器上开启 samba 客户端,勾选如下:
挂载:
完成之后 输入\\ip\filename
大功告成
挂
载成功后会在出现如图:
删除 windows 挂载:
win+r cmd
net use Z: /del
Z:为驱动位置