千家信息网

基于Centos 7的Samba服务的搭建及相关实验(纯实验)

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,Samba概述Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和
千家信息网最后更新 2025年01月22日基于Centos 7的Samba服务的搭建及相关实验(纯实验)

Samba概述

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

----来自百度百科

一,Samba共享服务的匿名访问

1、安装服务修改主配置文件

配置文件位置:/etc/samba/smb.conf

[root@localhost ~]# yum install samba -y  ##安装Samba服务[root@localhost ~]# cd /etc/samba/    ##切换到Samba配置文件目录[root@localhost samba]# mv smb.conf smb.conf.bak   ##备份[root@localhost samba]# grep -v "#" smb.conf.bak > smb.conf   ##重新创建一个配置文件(除去注释的)[root@localhost samba]# vim smb.conf    ##修改配置文件[global]                                     ##全局                workgroup = SAMBA                security = user                passdb backend = tdbsam                printing = cups                printcap name = cups                load printers = yes                cups options = raw                map to guest = Bad User     ##添加此项,开启匿名用户访问##按G定位末行,添加[share]                                     ##添加的share文件                path=/opt/test                      ##路径                public=yes                            ##公共访问                browseable=yes                   ##能够访问                writable=yes                         ##写权限                create mask=0644               ##设置权限                directory mask=0755
2、创建站点并开启服务
[root@localhost samba]# mkdir /opt/test      ##创建目录[root@localhost samba]# chmod 777 /opt/test   ##给全部权限[root@localhost samba]# systemctl stop firewalld.service   ##关闭防火墙[root@localhost samba]# setenforce 0    ##关闭增强功能[root@localhost samba]# systemctl start smb.service   ##开启Samba服务
3、验证试验结果

注意: 测试机需要跟Samba服务器互联互通

使用WIN+R快捷键,输入samba服务器IP地址


返回Linux进行查看

[root@localhost samba]# cd /opt/test/   ##查看共享文件目录,查看到创建的文本[root@localhost test]# ll-rw-r--r--. 1 nobody nobody 0 11月  5 15:51 111.txt

二、Samba共享服务的身份验证

1、修改主配置文件
[root@localhost ~]# cd /etc/samba/    ##切换到Samba配置文件目录[root@localhost samba]# vim smb.conf    ##修改配置文件[global]                workgroup = SAMBA                security = user                passdb backend = tdbsam                printing = cups                printcap name = cups                load printers = yes                cups options = raw                   #map to guest = Bad User      ##将匿名访问的一项注释或删除##按G定位末行,添加[test]                path=/opt/test         ##共享文件目录路径                browseable=yes     ##能够访问,将public项去除                create mask=0644                directory mask=0755                valid users=zhangsan, lisi      ##允许访问的用户                write list=zhangsan                ##允许写入的用户
2、创建smb用户
[root@localhost samba]# useradd zhangsan      ##创建两个用户[root@localhost samba]# useradd lisi[root@localhost samba]# smbpasswd -a zhangsan   ##创建smb用户并设置密码New SMB password:       ##设置密码Retype new SMB password:     ##确认密码Added user zhangsan.[root@localhost samba]# smbpasswd -a lisiNew SMB password:Retype new SMB password:Added user lisi.[root@localhost samba]# pdbedit -L    ##列出smb用户列表zhangsan:1001:lisi:1002:[root@localhost samba]# cd /opt/    [root@localhost opt]# mkdir test    ##创建共享目录[root@localhost opt]# lstest  rh  test2[root@localhost opt]# chmod 777 test2/   ##给最大权限[root@localhost opt]# systemctl restart smb  ##重启Samba服务
3、结果验证

同样,使用WIN+R快捷键,输入服务器IP


注意: 此次试验我们仅有zhangsan一个用户拥有全部权读写限,lisi仅能进行读取操作,开始验证:


三,Samba共享服务的账户名映射(账户别名登录)

1、建立映射文件
[root@localhost ~]# cd /etc/samba/[root@localhost samba]# vim smbusers    ##创建账户映射配置文件zhangsan = t01 t02   lisi = test1 test2
2、修改配置文件
[root@localhost samba]# vim smb.conf[global]                workgroup = SAMBA                security = user                passdb backend = tdbsam                printing = cups                printcap name = cups                load printers = yes                cups options = raw                username map = /etc/samba/smbusers    ##添加别名的配置文件路径[root@localhost samba]# systemctl restart smb
3、验证结果

使用别名进行登录操作

同样使用WIN+R快捷键进行链接


四、Samba服务的访问控制列表

建立访问控制列表仅需对一个文件进行修改

[root@localhost samba]# vim /etc/samba/smb.conf [test]    path=/opt/test    browseable=yes    create mask=0644    directory mask=0755    valid users=zhangsan, lisi    write list=zhangsan    hosts deny=192.168.13.    ##添加拒绝192.168.13段访问[root@localhost samba]# systemctl restart smb
结果验证

感谢您的阅读

0