基本概念
局域网内的不同计算机之间提供文件及打印机等资源的共享服务,SMB协议是C/S模型协议。
1.1、相关协议
Linux——NFS(Network File System):网络文件系统
Window——NetBios:主机名解析协议
LinuxèWindow——CIFS :通用网络文件系统
1.2、特点
samba——软件、smb——文件共享协议、
1.3、作用
1、 分享网络文档、打印机
2、 跨平台访问身份验证、权限设置、支持SSL证书加密
3、 解析NetBios名字:Samba通过nmbd服务可以搭建NBNS(NetBios Nmae Server)服务器,提供名称解析——将计算机名解析为IP,实现主机之间的访问定位!
1.4、端口
SMB——TCP 139 445
NMB——UDP 137 138
1.5、配置文件
主配置文件——/etc/samba/smb.conf
用户名别名配置文件——/etc/samba/smbuser(用于隐藏用户真实的名称)
1.6、用户安全级别
在全局配置文件 “global”下,security = “***”
share------匿名登录
server——专门作为一台身份验证的服务器
domain——通过域控制器验证登录
1.7、全局设置参数
[global]
workgroup =MYGROUP #工作组名称
username map = /etc/samba/smbusers #启用别名概念
server string =Samba Server Version %v #服务器描述信息,一般为版本信息
log file =/var/log/samba/log.%m #日志文件路径和名称
max log size =50 #如果日志文件的大小超过50KB,则重新记录
security = user #用户登录安全级别:share、user、server、domain
passdb backend =tdbsam #设置共享账户文件类型,默认为tdbsam
load printers =yes # 自动加载打印机
cups options =raw #指定打印机的工作模式
netbios name =** #主机的netbios 的名称
hosts allow = 127. 192.168.100. #允许访问共享文件的网段及用户IP、域名
realm = ** #指定 Active Directory
1.8、共享文件区域设置
[homes] #共享文件名(随便写)
comment = Home Directories #共享文件“homes”的描述信息
browseable = no #设置共享文件夹在Window的网上邻居中是否可见,此处为不可见
path = /var/spool/samba #共享文件夹的目录
writable = yes #拥有写权限------与read only 只读模式 刚好相反
public = yes #允许共享
guest ok = yes #允许匿名访问
valid users = abc ,@xyz,+qwe #仅允许几个用户登录,或者组登录
注:上面一条命令的使用前提是共享目录拥有777权限
read only = yes #开启只读模式(配置文件内设置)——系统默认
write list = 用户1 (配置文件内设置)———有“写”权限用户列表
最后的三项经常组合当做白名单使用同时还要给目录更改权限
步骤:
第一步 配置本地yum源,安装软件samba
yum -y install samba
第二步 配置共享文件/etc/samba/smb.conf
将安全级别改为 “security = share”
第三步 启动smb服务
service smb start
第四步 在客户端登录验证
查看共享文件目录: smbclient -L IP
登录服务器上的共享文件 smbclient //IP/共享区域名 (自己上面【】里面写的那个)
有效用户的登录方式和上面的匿名用户一样,只是将上面的安全级别改为
“security = user”此时,匿名用户和有效用户都可以登录
2.3、查看系统的共享文件
使用匿名用户 smbclient -L IP
使用指定用户Smbclient -U user1 -L IP
Pdbedit -a bcl (在服务器端)
2.5、创建zhangsan、lisi本地用户,张三可以“写”,李四为“只读”、目录不可见
先给共享目录开启权限 rw
使用samba实现公司的文件服务器
要求:
1、创建 两个部门HR、IT,每个部门两个人hr01、hr02、it01、it02,设置文件共享密码;
2、部门内部的文件只能内部人员查看,别的部门不能查看;
4、HR部门的文件远程只允许领导办公室192.168.115.200电脑查看;
5、IT部门的文件只允许管理员it01有写权限;且只允许其他两个部门192.168.115网段和192.168.100网段的职工查看;
实验步骤:
第一步 创建组HR、IT,并在组内分别创建成员hr01、hr02,it01、it02,设置共享密码
查看添加的组内成员的所有者、所属组、附加组
第二步、创建部门目录,设置权限:只能本部门成员使用本部门的目录文件
创建部门共享文件夹:
/home/HR,更改所属组为 HR,设置权限1770,即所有者和所属组有全部权限,且赋予SBIT的权限,谁创建谁负责!
/home/IT,更改所属组为IT,设置权限1770
全公司职工工资表查看文件夹 /home/public
第三步、设置配置文件,并给相应的部门开启权限
3、限制各部门共享文件查看人员权限;
4、测试验证
基于用户的访问控制权限
Window系统测试并验证
测试hr02用户除了可以查看是否还可以修改hr01用户的资料
基于主机的访问控制权限
第四步、验证
/public共享文件任何人都可以查看
HR目录在非192.168.115.200电脑上登录无论谁都登不上,200的IP为Window,在上面已经验证
IT目录只能在192.168.115.0和192.168.100.0网段的电脑上登录
磁盘映射
Window端缓存清除
net use * /del
Window端缓存查看
net use
磁盘映射
Linux端
先查看共享的目录 smbclient -U bcl -L 192.168.115.193
临时挂载:
mount -t cifs -o username=***,password=*** //服务器IP/共享目录 /mnt
永久挂载需要写入 /etc/fstab 中
Window端
我的电脑è(右键)映射网络驱动器è//共享服务器的IP/共享文件夹
对于windows而言,只要是网络上的共享文件夹,都可以使用这种方式共享