中文名信息服务块
英文名samba
全 称Server Messages Block
类 属软件
构 成服务器及客户端程序
运行环境局域网
Samba服务器组件
samba有两个主要的进程smbd和nmbd。smbd进程提供了文件和打印服务,而nmbd则提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位服务器,处理所有基于UDP的协议
Samba服务器相关的配置文件:
/etc/samba/smb.conf
这是samba的主要配置文件,非常详细。主要的设置包括服务器全局设置,如工作组、NetBIOS名称和密码等级,以及共享目录的相关设置,如实际目录、共享资源名称和权限等两大部分。
/etc/samba/lmhosts
早期的 NetBIOS name需额外设定,因此需要这个lmhosts 的 NetBIOS name 对应的 IP 域。 类/etc/hosts 的功能
/etc/sysconfig/samba
提供启动 smbd, nmbd 时,你还想要加入的相关服务参数。
/etc/samba/smbusers
由于 Windows 与 Linux 在管理员与访客的账号名称不一致,例如: administrator (windows) 及 root(linux), 为了对应这两者之间的账号关系,可使用这个档案来设定
/var/lib/samba/private/{passdb.tdb,secrets.tdb}
管理 Samba 的用户账号/密码时,会用到的数据库档案
/usr/share/doc/samba-<版本>
这个目录包含了 SAMBA 的所有相关的技术手册
实验环境如下:
虚拟机版本:VMware17
Linux操作系统版本: Linux CentOS7
实验一:匿名访问
第一部分:基础五步
1,更改镜像源操作方便装包
连接光盘
右下角------设置------连接本地光盘
挂载光盘 mount /dev/sr0 /mnt 可以看到光盘挂载成功
编写仓库,进入到对应目录
cd /etc/yum.repos.d/
使用第一个作为仓库,拷贝一份
cp CentOS-Base.repo CentOS-Base.repo.bak
开始编写仓库
点击:进入末行模式,输入%d删除全文
输入:
[ZYK]
name=ZYK
baseurl=file:///mnt # 指定 yum 源的地址
gpgcheck=0 # 是检查GPG-KEY,0为不检查,1为检查
enabled=1 # 是否开启这个yum源,0为关闭,1为开启
清理缓存
建立缓存 yum makecache
刷新仓库
2,寻找我们需要的samba软件包
yum search samba
3,安装samba软件包
yum install samba
4,关闭selinux
vi /etc/selinux/config
setenforce 0
5,关闭防火墙 systemctl stop firewalld.service
6,根目录创建一个共享文件夹 mkdir /binbin
7,修改主要配置文件 vi /etc/samba/smb.conf
一定在第8条加上
在最后面加上四条path=/binbin
#查看前四条注释
一、查看详细配置示例:"See smb.conf.example for a more detailed config file"
含义:这是提示如果想要获取更详尽的配置文件内容,可以查看 smb.conf.example 。这个文件作为示例,包含了各种可能的配置项的设置情况,能帮助用户更好地理解 smb.conf 配置文件的结构和各项设置的具体形式。
二、查阅手册页:"read the smb.conf manpage"
含义:建议阅读 smb.conf 的手册页(manpage)。在Unix - like系统中,manpage是一种非常全面的文档资源,对于 smb.conf 的manpage来说,其中会深入讲解每个配置项的含义、可能的取值、不同取值对应的功能以及一些配置的最佳实践等内容。
三、验证配置:"Run 'testparm' to verify the config is correct after you modified it."
含义:在对 smb.conf 配置文件进行修改之后,运行 testparm 命令可以检查配置是否正确。这个命令会对 smb.conf 文件进行语法检查,同时还会显示出当前配置文件中实际生效的配置选项及其值。
8,重启SMB服务 systemctl restart smb
9,windows上win+r,再\\192.168.23.157
10,以上9步做完之后可以访问共享文件夹,但是不能创建、写入文件。这是因为第6步创建的共享文件夹默认权限是755,windows通过SMB服务访问共享文件夹是时它是others用户具有5权限,所以直接给/zhonyuekang加权限即可
chmod 777 /binbin
linux文件夹的默认权限775
对于所有者(Owner),无权限屏蔽,保持7(drwx)权限
对于所属组(Group),屏蔽写(w - 2)权限,变为5(dr - x)权限
对于其他用户(Others),屏蔽写(w - 2)权限,变为5(dr - x)权限
实验二:用户访问
第一部分:基础五步,见匿名访问 1-5
6,根目录新建一个共享文件夹
mkdir /share
7,给这个文件的755权限升为777权限,并验证
chmod 777 /share
ls -ld /share
8,新建用户,设置密码123456
useradd ZYK
echo 123456 | passwd --stdin ZYK
9,将用户加入到samba,密码123
pdbedit -au ZYK #pdbedit 是一个用于管理 Samba 服务用户账户的命令行工具
10,修改配置文件
vim /etc/samba/smb.conf
删除第8行的map to guest = bad user
添加信息加入合法用户然后保存
11,重启服务 systemctl restart smb
12,在Windows上面验证实验效果
win + r 然后输入//192.168.23.157
输入密码之后就能够访问这个文件夹,并且能够创建文件
Linux验证
yum install -y samba-client.x86_64
smbclient -L //192.168.23.128 -U ZYK%123
如果需要切换用户,请先清理缓存
C:\Users\Administrator>net use * /del /y
你有以下的远程连接:
\\192.168.23.157\IPC$
继续运行会取消连接。
命令成功完成。
/etc/samba/smb.conf 配置文件详解