前言:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
实验环境:
实验环境名称 | IP地址 |
---|---|
centos6.8 | 172.17.1.6 |
Windows7 | 172.17.1.5 |
实验过程复现
进入终端界面,创建文件夹myshare,进入smb服务配置文件
找到[global]添加obey pam restrictions =yes
,使主配置文件支持pam认证
在主配置文件的最底处添加如下
各部分解释
[myshare]:
这是共享资源的名称标识。在客户端访问时,会看到这个名称来识别该共享。
comment = myshare:
这是对共享资源的注释说明。通常在客户端浏览共享资源时,可以看到这个注释信息,帮助用户了解这个共享的用途或内容。在这里,注释与共享名称一致,都是 “myshare”。
path = /var/myshare:
指定了共享资源在服务器上的实际路径。客户端通过 Samba 访问这个共享时,实际上是在访问服务器上的 “/var/myshare” 目录。
public = yes:
表示这个共享是公开的。当设置为 “yes” 时,意味着不需要特定的用户认证就可以访问这个共享资源。这在一些场景下可以方便用户快速访问公共数据,但也可能带来一定的安全风险,因为任何人都可以访问该共享。如果设置为 “no”,则可能需要用户提供有效的用户名和密码才能访问共享。
接着在samba认证文件/etc/pam.d/samba
中添加Account require pam_access.so accessfile=/etc/mysmblogin保存并退出。
vim /etc/pam.d/samba
编辑smb用户登录文件,输入 vim /etc/mysmblogin,允许test1在172.16.1.0/24网段访问myshare文件夹,禁止test2在172.16.1.0/24网段访问myshare文件夹。
vim /etc/mysmblogin
+:test1:172.16.1.0/24
-:test2:172.16.1.0/24
创建用户test1和test2
,并将用户加入共享登陆中
useradd test1
useradd test2
smbpasswd -a test1
smbpasswd -a test2
重启smb服务及关闭防火墙
service smb restart
service iptables stop
效果验证
回到Windows7环境中进行验证效果,主机控制访问测试。test1可以访问smb。test2无法访问
验证成功,如果对您有帮助的话,望请三连!