Samba服务搭建实验
前言
本文重点在于后面的Samba服务的完整搭建步骤,前面会简单介绍Samba服务的基本概念与配置文件介绍,如有偏差处,欢迎大家指正,谢谢。
基本理论说明
Samba服务概述
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过支持这个协议, Samba 允许 Linux 服务器与 Windows 系统之间进行通信。
Samba主要服务程序
- SMB
SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 和445 TCP端口;
- NMB
NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
Samba软件包
Samba主要配置文件简介
/etc/samba/smb.conf
Samba 的主要配置文件,基本上,Samba 就仅有这个配置文件而已,主要的设定项目分为服务器的相关设定 (global),如工作组、NetBIOS 名称与密码等级等, 以及分享的目录等相关设定,如实际目录、分享资源名称与权限等等两大部分。
/etc/samba/smbusers
Samba的别名文件,用于映射windows与linux之间用户的关系。
实验步骤
实验目标:掌握Samba服务基本搭建以及常规操作
实验准备:两台C6标准虚拟机。(selinux与防火墙已关闭)
实验规划:Samba服务端(192.168.10.11)
Samba客户端(192.168.10.10)
一、Samba服务端安装
1.安装Samba服务
yum install -y samba
2.过滤出有效信息
mv /etc/samba/smb.conf /etc/samba/smb_conf
grep -v "^#" /etc/samba/smb_conf | grep -v "^;" | grep -v ^$ > /etc/samba/smb.conf

3.共享一个目录,任何人都可以方法都可以访问(匿名访问)
vim /etc/samba/smb.conf
修改【global】模块
将"MY GROUP"改为"WORKGROUP"
将"security = user"修改为 “security = share”

添加【share】模块
[share]
comment = share all
path = /tmp/samba
browseable = yes
public = yes
writable = no

保存退出,创建共享目录:
mkdir /tmp/samba
创建测试文件
touch test.txt
启动服务
service smb start
测试:
testparm

测试通过。
4.Windows连接测试:(连接之前检查是否开启Samba服务)
控制面板>程序>程序和功能

文件夹搜索栏处输入
\\192.168.10.10\share

登入成功!!
二、共享一个目录,使用用户名和密码登录后才可以访问(本地验证)。
1.配置本地验证
vim /etc/samba/smb.conf
修改【global】模块
将"security = share"修改为 “security = user”

添加自定义模块
[vonmerlot]
comment = aizelasiduiyoushashou
path = /tmp/zbc
public = yes
browseable = yes
writable = yes

保存退出,创建共享目录并给予相应权限。
mkdir /tmp/zbc
touch /tmp/zbc/shuangzhiaishang.txt
chmod 777 /share/zdy
测试配置文件,重启服务。
testparm
service smb restart
2.创建samba用户
创建Linux用户
useradd -s /sbin/nologin daqiang
转化为Samba用户
pdbedit -a daqiang

3.linux登陆测试
smbclient //192.168.10.11/vonmerlot -U daqiang

客户端创建测试:
mkdir huozhigaoxing
服务端查看:
cd /tmp/zbc
ls

4.windows登陆测试
文件夹搜索栏输入:
\\192.168.10.11\vonmerlot


修改操作:

服务端查看:

创建操作:

服务端查看:

删除操作:

服务端查看:

常规操作成功。
三、访问控制
1.环境准备
创建三个用户,三个组,将其分为三组。
useradd aka
useradd akb
useradd akc
2.设置权限
添加自定义模块:
[AA]
comment = AA
path = /tmp/aa
public = no
valid users = aka,akb
write list = aka
printable = no
create mask = 666
directory mask = 777
[BB]
comment = BB
path = /tmp/bb
public = no
valid users = akb,akc
write list = akb
printable = no
[AA]
comment = CC
path = /tmp/cc
public = no
valid users = akc,aka
write list = akc

创建共享目录并赋予权限:
mkdir /tmp/aa
mkdir /tmp/bb
mkdir /tmp/cc
chmod 777 /tmp/aa/
chmod 777 /tmp/bb/
chmod 777 /tmp/cc/
创建测试文件
touch /tmp/aa/test1
touch /tmp/bb/test2
touch /tmp/cc/test3
转化Samba用户:
pdbedit -a aka
pdbedit -a akb
pdbedit -a akc
重启服务:
service smb restart
3.访问测试
linux客户端
aka用户登陆测试:
smbclient //192.168.10.11/AA -U aka

创建测试:

aka有设置的权限。
akb创建测试:
smbclient //192.168.10.11/BB -U akb

akb也有相应权限
akc创建测试:
smbclient //192.168.10.11/CC -U akc

4.互相访问测试
aka访问没有访问权限的BB目录:
smbclient //192.168.10.11/BB -U aka

akb访问没有访问权限的CC目录:
smbclient //192.168.10.11/CC -U akb

akc访问没有访问权限的AA目录:
smbclient //192.168.10.11/AA -U akc

访问控制成功。
四、设置用户别名
1.添加别名信息
vim /etc/samba/smbusers
添加以下信息;
aka = aa
2.启用别名
vim /etc/samba/smb.conf
添加以下信息:
username map = /etc/samba/smbusers
保存重启服务:
service smb restart
3.登陆测试
smbclient //192.168.10.11/AA -U aa

别名启用成功。
五、映射网络驱动器
1.linux挂载
临时挂载:
mount -t cifs -o username=aka,password=123 //192.168.10.11/AA /pot

永久挂载:
vim /etc/fstab
添加下列信息:
//192.168.10.11/AA /pot cifs defaults,username=aka,password=123 0 0
2.客户机重启测试
reboot
登陆后查看:
cd /pot
ls

挂载成功。
3.windows挂载
右键网络:

输入:
\\192.168.10.11\AA

挂载成功!!
六、图形化wed管理界面
1.安装图形化软件
yum -y install samba-swat
2.修改配置文件
vim /etc/xinetd.d/swat

保存重启服务:
service xinetd restart
3.浏览器访问测试
http://192.168.10.11:901/

登陆成功
ps:该软件在DVD2盘中的软件中。
该文档在2020年10月11日由Vonmerlot重新整理
本文详细介绍了在Linux(CentOS)系统中搭建Samba服务的全过程,包括服务端安装、共享目录配置、用户验证、访问控制、用户别名设置、网络驱动器映射及图形化管理界面的安装与测试。通过实验步骤,读者可以掌握Samba服务的搭建与管理。

1万+

被折叠的 条评论
为什么被折叠?



