首先恢复虚拟机1与虚拟机2快照,重新准备环境:

虚拟机1-单网卡-仅主机模式-192.168.100.10

虚拟机2-单网卡-仅主机模式-192.168.100.20

客户端可由物理机充当(win7或者win10)

网络配置可以根据自己的机器更改,不用一样一样的

保证网络连通(两个虚拟机可互通,物理机可ping通两台虚拟机),本地yum源配好!!


任务一、匿名共享

Samba服务器中共享/home/public 目录,定义共享名为public,并添加适当的备注信息,共享文件允许浏览、允许读写、允许匿名访问。

以下步骤仅在虚拟机1中操作即可!!

【0】关闭防火墙与SELinux[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# setenforce 0
【0】安装samba[root@localhost ~]# yum install  samba -y[root@localhost ~]# systemctl start smb && systemctl enable smbCreated symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.

【1】备份默认配置文件

Samba的默认配置文件是/etc/samba/smb.conf ,我们可以通过修改配置文件实现案例的要求。

为了避免我们的修改造成samba崩溃无法恢复的后果,建议先备份一下默认配置文件

[root@localhost ~]# cp  /etc/samba/smb.conf  /etc/samba/smb.conf.bac
【2】准备服务器待共享目录[root@localhost ~]# mkdir -p /home/public[root@localhost ~]# echo "test file" >> /home/public/test.txt[root@localhost ~]# chmod -R 777 /home/public //赋予其他用户读写权限
【3】修改配置文件[root@localhost ~]# vi /etc/samba/smb.conf首先在[global]段落下:修改workgroup = SAMBA字段为workgroup = WORKGROUP添加一行 map to guest = bad user然后在文件末尾添加如下内容:[public]                                      //设置共享名comment = share files                     //设置共享资源描述path = /home/public                      //设置共享目录browseable = yes                         //设置可浏览writable  = yes                           //设置可读写public = yes                              //设置允许匿名访问
【4】重启Samba服务[root@localhost ~]# systemctl restart smb修改配置文件后,重启服务使其生效。

【5】Windows系统匿名访问共享文件

我们假设Samba服务器的IP地址为192.168.100.10,那如果我们在一台与Samba服务器相同网段的Windows机器上,是能够匿名访问到共享目录的。

打开“此电脑”,在顶部路径栏输入 “\192.168.100.10” 并回车,可以看到共享的目录public。

在Windows的public文件夹中,我们可以修改里面的内容,也可以创建以及删除文件,并且在Linux系统中可以实时更新,保持同步。


任务二、user实例

公司有多个部门,因工作需要,就必须分门别类地建立相应部门的目录。要求将销售部的资料存放在Samba服务器的/companydata/sales/目录下集中管理,以便销售人员浏览,并且该目录只允许销售部员工访问。

需求分析:

在/companydata/sales/目录中存放有销售部的重要数据,为了保证其他部门无法查看其内容,我们需要将全局配置中security设置为user安全级别。这样就启用了Samba服务器的身份验证机制。然后在共享目录/companydata/sales下设置valid users字段,配置只允许销售部员工能够访问这个共享目录。

0、确保已经关闭防火墙、SELinux,确保已经安装samba服务

1、创建共享目录

[root@localhost ~]# touch /companydata/sales/test_share.tar

2、创建相关用户组与用户

[root@localhost ~]# groupadd sales[root@localhost ~]# useradd -g sales sale1[root@localhost ~]# useradd -g sales sale2[root@localhost ~]# useradd test_user1[root@localhost ~]# passwd sale1[root@localhost ~]# passwd sale2[root@localhost ~]# passwd test_user1

3、为销售部成员添加相关samba密码

[root@localhost ~]# smbpasswd -a sale1[root@localhost ~]# smbpasswd -a sale2

4、修改配置文件

先恢复默认的配置文件[root@localhost ~]# cp /etc/samba/smb.conf.bac /etc/samba/smb.confcp:是否覆盖"/etc/samba/smb.conf"? yes然后vim打开后修改:[root@localhost ~]# vim /etc/samba/smb.conf[global]段落参考如下修改:[global]workgroup = WORKGROUPserver string = File Serversecurity = user再在最后添加如下:[sales]comment = salespath = /companydata/saleswritable = yesbrowseable = yesvalid users = @sales

5、修改文件权限

[root@localhost ~]# chmod -R 777 /companydata/sales[root@localhost ~]# chown -R :sales /companydata/sales

6、重启samba服务

[root@localhost ~]# systemctl restart smb

7、windows客户端验证

先在windows上,通过文件管理器打开\192.168.100.10,输入sale1或者sale2密码(注意是samba密码)均能登录并看到共享目录sales,但是test_user1用户不能成功登录。(windows登录后会自动纪录登录信息,下次自动登录,若想清除登录信息可打开cmd窗口,执行 net use * /del /y,关闭文件管理器后重新打开即可)

8、Linux客户端验证

Linux客户端也可以进行samba共享文件的访问,需要安装samba客户端,首先确保虚拟机2关闭防火墙与SELinux,并配置好本地yum源,然后执行如下:

安装samba客户端相关软件包:[root@localhost ~]# yum install samba-client cifs-utils -y登录验证:[root@localhost ~]# smbclient -L 192.168.100.10 -U sale1%123456Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Sharename       Type      Comment---------       ----      -------print$          Disk      Printer Driverssales           Disk      salesIPC$            IPC       IPC Service (File Server)sale1           Disk      Home DirectoriesDomain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Server               Comment---------            -------Workgroup            Master---------            -------[root@localhost ~]# smbclient -L 192.168.100.10 -U sale2%123456Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Sharename       Type      Comment---------       ----      -------print$          Disk      Printer Driverssales           Disk      salesIPC$            IPC       IPC Service (File Server)sale2           Disk      Home DirectoriesDomain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Server               Comment---------            -------Workgroup            Master---------            -------[root@localhost ~]# smbclient -L 192.168.100.10 -U test_user1%123456session setup failed: NT_STATUS_LOGON_FAILURE如果想浏览共享目录,可以如下:[root@localhost ~]# smbclient -L 192.168.100.10 -U test_user1%123456session setup failed: NT_STATUS_LOGON_FAILURE[root@localhost ~]# smbclient //192.168.100.10/sales -U sale1%123456Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]smb: \> ls.                                   D        0  Tue Aug 23 11:19:01 2022..                                  D        0  Tue Aug 23 11:17:37 2022test_share.tar                      A        0  Tue Aug 23 11:19:01 202210190100 blocks of size 1024. 9568084 blocks availablesmb: \> exit[root@localhost ~]#

任务三、 综合案例实战

Samba服务器目录

公共目录/share,销售部/sales,技术部/tech。

企业员工情况

主管:总经理 master

销售部:销售部经理 mike,员工 sky

技术部:技术部经理 tom,员工 sunny

公司使用Samba搭建文件服务器,需要:

建立公共共享目录,允许所有人访问,权限为只读。

为销售部和技术部分别建立单独的目录,只允许总经理和对应部门员工访问,并且公司员工无法在网络邻居查看到非本部门的共享目录。

分析:

对于建立公共的共享目录,使用public字段很容易实现匿名访问。但是,注意后面公司的需求,只允许本部门访问自己的目录,其他部门的目录不可见!这就需要设置目录共享字段“browseable=no”,以实现隐藏功能,但是这样设置,所有用户都无法查看该共享。因为对同一共享目录,有多种需求,一个配置文件无法完成这项工作,这时需要考虑建立独立配置文件,以满足不同员工访问需要。但是为每个用户建立一个配置文件,显然操作太繁琐了。我们可以为每个部门建立一个组,并为每个组建立配置文件,实现隔离用户的目标。

步骤:

为了避免虚拟机1中过多操作的干扰,我们在虚拟机2中进行相关操作!!!

0、确保已经关闭防火墙、SELinux,确保已经安装samba服务

1、创建相关目录并设置权限

[root@localhost ~]# mkdir /share[root@localhost ~]# mkdir /sales[root@localhost ~]# mkdir /tech[root@localhost ~]# chmod -R 777 /share[root@localhost ~]# chmod -R 777 /sales[root@localhost ~]# chmod -R 777 /tech

2、创建相关用户组及用户

[root@localhost ~]# groupadd sales[root@localhost ~]# groupadd tech[root@localhost ~]# useradd -g sales mike[root@localhost ~]# useradd -g sales sky[root@localhost ~]# useradd -g tech tom[root@localhost ~]# useradd -g tech sunny[root@localhost ~]# useradd master[root@localhost ~]# passwd master[root@localhost ~]# passwd mike[root@localhost ~]# passwd sky[root@localhost ~]# passwd tom[root@localhost ~]# passwd sunny

3、创建相关用户samba密码

[root@localhost ~]# smbpasswd -a master[root@localhost ~]# smbpasswd -a mike[root@localhost ~]# smbpasswd -a sky[root@localhost ~]# smbpasswd -a tom[root@localhost ~]# smbpasswd -a sunny

4、建立独立配置文件

[root@localhost ~]# cp /etc/samba/smb.conf /etc/samba/master.smb.cnf[root@localhost ~]# cp /etc/samba/smb.conf /etc/samba/sales.smb.conf[root@localhost ~]# cp /etc/samba/smb.conf /etc/samba/tech.smb.conf

5、修改主配置文件

[root@localhost ~]# vim /etc/samba/smb.conf在[global]段落下添加如下两行:include = /etc/samba/%U.smb.conf​    include = /etc/samba/%G.smb.conf

6、编辑master配置文件

[root@localhost ~]# vim /etc/samba/master.smb.conf然后在结尾添加如下三个段落:[public]​    comment = public​    path = /share​    public = yes[sales]​    comment = sales​    path = /sales​    writable = yes​    valid users = master[tech]​    comment = tech​    path = /tech​    writable = yes​    valid users = master

7、配置sales组配置文件

root@localhost ~]# vim /etc/samba/sales.smb.conf然后在结尾添加如下两个段落:[public]​    comment = public​    path = /share​    public = yes[sales]​    comment = sales​    path = /sales​    writable = yes​    valid users = @sales, master

8、配置tech组配置文件

root@localhost ~]# vim /etc/samba/tech.smb.conf然后在结尾添加如下两个段落:[public]​    comment = public​    path = /share​    public = yes[tech]​    comment = tech​    path = /tech​    writable = yes​    valid users = @tech, master

9、重启samba服务

[root@localhost ~]# systemctl restart smb

10、验证

在windows上分别通过master、mike、sky、tom、sunny登录验证。

master可以看到public、tech、sales目录

mike、sky可以看到public、sales目录

tom、sunny可以看到public、tech目录

Linux samba服务配置相关推荐

  1. Linux下的samba服务配置详解

    Linux下的samba服务配置详解 一.Samba介绍 二.Samba工具及特性 三.搭建环境介绍 四.Samba配置步骤 1.服务端操作 2.在客户端操作 五.测试用户的权限情况 一.Samba介 ...

  2. Linux实验5 Samba 服务配置实验实验报告(部分英文)

    实验题目 实验5 Linux实验5   Samba 服务配置实验实验报告  Samba 服务配置实验 实验目的 (1) Master the configuration of Samba server ...

  3. linux ubuntu 安装samba ftp nfs tftp,Ubuntu配置TFTP和NFS和samba服务配置.doc

    Ubuntu配置TFTP和NFS和samba服务配置 配置tftp服务的步骤: 1.安装相关软件包:tftpd(服务端),tftp(客户端),xinetd sudo apt-get install t ...

  4. Kali Linux常用服务配置教程获取IP地址

    Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...

  5. Kali Linux常用服务配置教程启动DHCP服务

    Kali Linux常用服务配置教程启动DHCP服务 通过前面的介绍,DHCP服务就配置好了.接下来,用户就可以使用该服务器来获取IP地址了.下面将对前面配置的服务进行测试. 1.启动DHCP服务 如 ...

  6. Kali Linux常用服务配置教程安装及配置DHCP服务

    Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...

  7. Kali Linux常用服务配置教程DHCP服务原理

    Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作 ...

  8. Linux DNS 服务配置 (非常详细)

    Linux DNS 服务配置 (非常详细) 转载于:https://blog.51cto.com/lidi97/843516

  9. kali linux查询自己的ip,Kali Linux常用服务配置教程获取IP地址

    Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...

最新文章

  1. IP Header包
  2. 计算机无线模块怎样关闭,无线模块插在电脑上出现感叹号如何解决?教你三招...
  3. cn域名注册国外_国内cn域名注册量超com域名,“com”时代结束了吗?
  4. 杰森·保罗:使VR与人眼相匹配还需20年!
  5. mybatis实现批量更新
  6. debian linux修改语言,Debian Linux系统下英文系统切换为中文
  7. 增大Linux的socket最大连接数(针对select,要编译内核)
  8. JSP EL 表达式取request parameter
  9. opencv python安装linux_Ubuntu16.04、Python3.6下安装opencv4遇到的问题
  10. Oracle归档日志管理
  11. 基于face_recognition构建的人脸识别系统以及相关应用
  12. Postman中文版 !!!!傻瓜教程
  13. 轻量级Kubernetes之k3s:15:firewalld对应方法
  14. html简单特效代码,html特效代码大全
  15. UnitySDK新接入记录
  16. 区块链去中心化有什么优势?
  17. iPhone2018年最全iPhone尺寸
  18. 由浅入深!大牛耗时一年最佳总结,让你的app体验更丝滑!3面直接拿到offer
  19. 阿里云疯狂促销 公有云之战刚鸣枪
  20. warframe怒焚者结合目标_warframe哪些地图有结合目标 | 手游网游页游攻略大全

热门文章

  1. google apis 下载
  2. 解决phpcms v9搜索结果不全或搜索不到内容(不再使用分词进行搜索,而是直接使用输入的关键字搜索)
  3. Objective-C基础学习心得(更新ing)
  4. [Vulnhub] Narak
  5. 音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
  6. python计算面积代码_利用Python求阴影部分的面积实例代码
  7. 【云计算】制造业云计算应用趋势分析!
  8. ALV Tree demo(WBS元素分层显示)[引用别人的]
  9. python通讯录完整(包括GUI界面)BUG已经修复
  10. SDAE-stacked denoised autoencoder (堆栈去噪自编码器)