Samba是用来实现SMB(Server Message Block服务信息块)的一种软件,它是由澳大利亚国立大学计算机科学实验室的研究生Andrew Tridgell开发的。
SMB的工作原理是让NetBIOS与SMB这两种协议运行在TCP/IP的通信协议上,使用NetBIOS name server让用户的Linux机器可以在Windows的网络邻居里被看到,所以就可以和windows主机在网络上相互沟通,共享文件与服务了。
监听端口:137/udp,138/udp,139/tcp,445/tcp。
下面开始samba主配置文件介绍:/etc/samba/smb.conf
samba:跨平台访问文件系统
smb.conf分成两类配置段:
全局配置:
#================ Global Settings ================
[global]
# ----------- Network-Related Options ----------
网络相关配置
workgroup = MYGROUP 工作组,用来设定服务器所要加入的工作组或者域。
server string = Samba Server Version %v 服务器简单介绍字符串,%v显示samba版本号(鼠标悬停时候的提示)。
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 服务器所监听的网卡名、IP地址。
hosts allow = 127. 192.168.12. 192.168.13. 访问控制白名单,可以用一个IP表示,也可以用一个网段表示,多个参数以空格隔开。
# ---------- Logging Options ----------
日志相关配置
log file = /var/log/samba/log.%m 设置服务器日志文件的存储位置以及存储日志文件名称,%m(宏)表示主机名,表示对每台访问服务器的机器都单独记录一个日志文件。如果whsir访问过服务器,则就会在/var/log/samba目录下生成一个名为log.whsir的日志文件。
max log size = 50 设置服务器日志文件的最大存储量,默认50,表示最大存储50KB,0表示不限制。
# ---------- Standalone Server Options ----------
独立运行服务器
security = user 定义安全级别
一共由四种级别:
share:匿名共享,用户访问服务器不需要提供用户名和口令。
user:使用samba服务自我管理的帐号和密码进行用户认证,用户必须是本系统用户,但密码非/etc/shadow中的密码,而由samba自行管理的文件,其密码文件的格式由passdb bachend进行定义。
server:由第三方服务进行统一认证。
domain:使用主域控制器进行认证,基于kerberos协议进行。
passdb backend = tdbsam tdbsam使用一个数据库文件来建立用户数据库。可以使用smbpasswd命令建立samba用户,不过要建立的samba用户必须先是系统用户。我们也可以使用pdbedit命令来直接建立Samba账户。
# ---------- Domain Members Options ----------
域成员选项,此项几乎用不到,略过即可。
# ---------- Domain Controller Options ----------
浏览器控制选项
#---------- Name Resolution ----------
名称解析服务
#---------- Printing Options ----------
打印相关选项
load printers = yes 是否加载打印机
#---------- File System Options ----------
文件系统相关选项
共享文件系统配置:
#============= Share Definitions ===============
共享名字有三类
[homes]:为每个samba用户定义其是否能够通过samba服务访问自己的家目录
[printers]:定义打印服务
[shared_fs]:定义共享的文件系统
常用的指令:
comment = 共享的注释信息(描述)
browseable = 是否可浏览,指是否可被用户查看
writable = 该共享路径是否可写
write list = 拥有写权限的用户列表(和writable不能同时使用)
用户名
@组名
+组名
path = 当前共享所映射的文件系统路径
guest ok = 是否允许来宾帐号访问
public = 是否公开所有用户
补充:
可用的宏列表(能用字符串替换的位置都可以使用这些宏):
%m:客户端主机的NetBIOS名称;
%M:客户端的Internet主机名,即HOSTNAME;
%H:当前用户的家目录;
%U:当前用户的用户名;
%g:当前用户所属的组名;
%h:当前samba主机的HOSTNAME;
%I:客户端主机IP;
%T:当前的日期时间;
原文链接:Samba主配置文件/etc/samba/smb.conf介绍,转载请注明来源!