文章目录
一、samba介绍
1、SMB(Server Message Block)协议实现文件共享,也称为CIFS(Common Internet File System)。
2、是Windows和类Unix系统之间共享文件的一种协议。
3、客户端主要是Windows,支持多节点同时挂载以及并发写入。
4、主要用于Windows和Linux下的文件共享、打印共享。
5、实现匿名与本地用户文件共享。
二、samba的主要进程
1、smbd进程,控制发布共享目录与权限、负责文件传输 TCP 139 ,445。
2、nmbd进程,用于名称解析netbios UDP 137 138 ;基于NETBIOS协议获得计算机名称解析为相应IP地址,实现信息通讯。
三、配置文件
1.安装samba
bash
[root@localhost ~]# yum install -y samba
2.配置文件解释
bash
[global] #全局选项
workgroup = SAMBA #定义samba服务器所在的工作组
security = user #认证模式:share匿名|user用户密码|server外部服务
passdb backend = tdbsam #密码格式
printing = cups
printcap name = cups
load printers = yes #加载打印机
cups options = raw #打印机选项
[homes] #局部选项(共享名称)
comment = Home Directories #描述
valid users = %S, %D%w%S
browseable = No #隐藏共享名称
read only = No
inherit acls = Yes
[printers]
comment = All Printers #描述
path = /var/tmp #本地的共享目录
printable = Yes
create mask = 0600
browseable = No #隐藏
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
四、例子
1.创建一个共享的目录。
bash
[root@localhost ~]# mkdir -p /samba/share
2.修改配置文件。
bash
[root@localhost ~]# vim /etc/samba/smb.conf
[samba_share]
path = /samba/share #共享路径
public = no #表示需要用户名和密码
writable = yes #可读可写
3.创建一个用户,然后添加到samba认证中。
bash
[root@localhost ~]# useradd user01
[root@localhost ~]# smbpasswd -a user01
[root@localhost ~]# pdbedit -L #查询有没有添加成功
user01:1003:
4.重启服务
bash
[root@localhost ~]# systemctl restart smb.service
[root@localhost ~]# systemctl restart nmb.service
5.windows挂载
先安装samba客户端
此电脑右击映射网络驱动器,ip+配置文件写的标签
- 如果提示不可写则是目录权限不够
6.Linux使用samba
bash
[root@localhost ~]# smbclient -L 192.168.68.140 -U user01 #查看服务端的模块或者标签
[root@localhost ~]# smbclient //192.168.68.140/samba_share -U user01 #查看目录信息
[root@localhost ~]# yum install -y cifs-utils
[root@localhost ~]# mount.cifs -o user=user01,pass=123456 //192.168.68.140/samba_share /u01/ #挂载使用
7.权限控制