samba
samba介绍
-
SMB(Server Message Block)协议实现文件共享,也称为CIFS(Common Internet File System )
-
是Windows和类Unix系统之间共享文件的一种协议
-
客户端主要是Windows;支持多节点同时挂载以及并发写入
-
主要用于windows和Linux下的文件共享、打印共享
-
实现匿名与本地用户文件共享
Samba服务的主要进程:
-
smbd进程 控制发布共享目录与权限、负责文件传输 TCP 139 445
-
nmbd进程 用于名称解析netbios UDP 137 138 ;基于NETBIOS协议获得计算机名称——>解析为相应IP地址,实现信息通讯
NetBIOS是Network Basic Input/Output System的简称,一般指用于局域网通信的一套API
samba环境准备
// 安装
yum install samba -y
// samba配置文件 /etc/samba/smb.conf
[global] 全局选项
workgroup = MYGROUP 定义samba服务器所在的工作组
server string = Samba Server Version %v smb服务的描述
log file = /var/log/samba/log.%m 日志文件
max log size = 50 日志的最大大小KB
security = user 认证模式:share匿名|user用户密码|server外部服务器用户密码
passdb backend = tdbsam 密码格式
load printers = yes 加载打印机
cups options = raw 打印机选项
[homes] 局部选项(共享名称)
comment = Home Directories 描述
browseable = no 隐藏共享名称
writable = yes 可读可写
[printers] 共享名称
comment = All Printers ag-0-1fu66eakhag-1-1fu66eakh描述
path = /var/spool/samba 本地的共享目录
browseable = no 隐藏
guest ok = no ——> public = no 需要帐号和密码访问
writable = no ——> read only =yes 不可写
printable = yes 打印选项
[share]
path = /dir1
guest ok = no
writable = yes
示例
搭建一个SAMBA服务,共享一个目录/samba/share,客户端使用user01/123通过windows或者Linux可以在该目录里创建文件删除文件
# 创建一个共享目录
mkdir /samba/share -p
# 编辑配置文件,实现samba共享
vim /etc/samba/smb.conf
[smb_share]
comment = samba service
path = /samba/share
guest ok = no #需要用户名和密码
writable = yes # 可写
# 创建用户,然后添加到samba认证中,设置密码为123
useradd user01
smbpasswd -a user01
# 启动服务
systemctl start nmb
systemctl start smb
# window
打开控制面板--》程序--》启动或关闭windows功能--》将smb的客户端和自动删除打钩
打开我的电脑---》映射网络驱动器---》选择驱动器---》填写文件夹(\\192.168.233.20\smb_share)
输入之前创建的用户user01和密码123即可
# 解决windows无法写入文件的问题
chmod a+w /samba/share # 给linux上的共享目录赋权
或者
setfacl -m u:user01:rwx /samba/share # 只给user01添加权限