前言:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
实验环境名称 | IP地址 |
|---|---|
CentOS6.8 | 192.168.248.128 |
进入系统,进行编辑smb服务器配置
vim /etc/samba/smb.conf
在配置界面最底端添加如下(每天一个小技巧,按住shift键+G可直接到最下方)
[public]
Comment= Public Stuff
Path = /public
Writable = yes
Printable = no
Write list = +staff
Hosts deny = 192.168.248. 禁止192.168.248.0/24网段访问(也可以禁止域)
Hosts allow = 192.168.248.128 允许地址192.168.248.128访问
以下是对这段 Samba 服务配置的解释:
一、整体含义
这段配置定义了一个名为“public”的共享资源,主要用于存放公共数据,并对其访问权限等进行了特定设置。
二、各部分解释
[public]:
Comment = Public Stuff:
Path = /public:
Writable = yes:
Printable = no:
Write list = +staff:
接着在根目录下创建文件夹public,在文件夹中创建文件hello,再创建一个smb认证用户
mkdir /public
touch /public/hello.txt
ls /public/
smbpasswd -a test
重启SMB服务
service smb restart
输入smbclient //192.168.248.128/public –U test%Admin123,登录到smb服务器中,输入”ls”看查目录下文件。(账号%密码)

继续编辑smb服务器配置,将hosts allow = 192.168.248.128删除,保存并退出。
vim /etc/samba/smb.conf
再次重启SMB服务
service smb restart接着在终端输入smbclient //192.168.248.128/public –U test%Admin123,无法进行登录

在终端输入useradd smbuser创建一个用户,之后输入smbpasswd –a smbuser将这个用户加入到samba中


进入samba目录当中,编辑samba配置文件
cd /etc/samba/
vim smb.conf”对samba
在smb.conf文件中添加username map = /etc/samba/smbusers开启用户账户映射后写入并退出

对smbuser文件进行编辑,创建用户账户映射smbuser = test1 test2,写入并退出并重启smb服务。


service smb restart
在终端输入smbclient –L 192.168.248.128 –U smbuser%Admin123,使用本地账号,对smb服务器进行登录测试。(账号%密码)

输入smbclient –L 192.168.248.128 –U test1%Admin123,使用虚拟账号,对smb服务器进行登录测试

输入smbclient //192.168.248.128/smbuser –U smbuser%Admin123,使用虚拟账号,对smb服务器进行登录后,输入pwd看查虚拟账号下的本地文件夹路径。
