SMB协议
Server Message Block,服务消息块
CIFS协议
Common Internet File System,通用互联网文件系统
Samba软件包构成
samba
samba-common
samba-client
samba-swa
Samba服务器的主要程序
smbd:提供对服务器中文件、打印资源的共享访问,端口(TCP:139,445)
nmbd:提供基于NetBIOS主机名称的解析,端口(UDP:137,138)
Samba的服务脚本
/etc/init.d/smb
Samba的配置目录及文件
/etc/samba/
/etc/samba/smb.conf
配置文件检查工具:testparm
smb.conf文件的配置内容
[global]:全局设置
[homes]:用户目录共享设置
[printers]:打印机共享设置
[myshare]:自定义名称的共享目录设置
辅助配置内容
注释行:以 # 号开头的行
配置样例行:以 ; 号开头的行
结合grep命令可以提取有效配置行: grep -v "^#" smb.conf | grep -v "^;" | grep -v ^$
常见全局配置项的含义
workgroup:所在工作组名称
server string:服务器描述信息
security:安全级别,可用值如下:share、user、server、domain
log file:日志文件位置,“%m”变量表示客户机地址
max log size:日志文件的最大容量,单位为KB
passwd backend:设置共享账户文件的类型
常见共享目录配置项的含义
comment:对共享目录的注释、说明信息
path:共享目录在服务器中对应的实际路径
browseable:该共享目录在“网上邻居”中是否可见
guest ok:是否允许所有人访问,等效于“public”
writable:是否可写,与read only的作用相反
访问地址限制
一般用在全局配置[global]部分
hosts allow配置项:仅允许特定的客户机
hosts deny配置项:仅拒绝特定的客户机
客户机地址表示形式:
以空格分隔多个地址
主机名或IP地址,例如: 192.168.168.11 或者 prtsvr
网络地址,例如:173.17. 或者 173.17.0.0/255.255.0.0
实验案例
需求描述
创建共享目录public、training、devel
目录public,所有员工都可以访问,但只读
目录training目录,存放公司的技术培训资料
目录devel存放项目开发数据
实现思路
创建共享目录,并设置目录权限
修改smb.conf,添加共享设置,并重启服务
在客户机以不同的用户访问共享文件夹
在/var/share/目录中建立三个子目录public,training,decal
建立用户和组
修改devdl目录的属组和权限
添加删除samba的共享用户
pdbedit
-a 添加
-x 删除
-u 指定用户名
-L 列出所有samba用户
修改smb.conf配置文件
启动smb服务
在共享目录中新建一点文件
检查smb.conf文件
在其它客服机上验证,先拿yua01用户
能访问public目录
但是访问其它目录就拒绝访问了
下面拿ben01用户测试
所有共享目录都能访问
也能写入
下面拿tec01用户测试
能访问所有共享目录
但是没有写入的权限