Linux samba服务配置
首先恢复虚拟机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服务配置相关推荐
- Linux下的samba服务配置详解
Linux下的samba服务配置详解 一.Samba介绍 二.Samba工具及特性 三.搭建环境介绍 四.Samba配置步骤 1.服务端操作 2.在客户端操作 五.测试用户的权限情况 一.Samba介 ...
- Linux实验5 Samba 服务配置实验实验报告(部分英文)
实验题目 实验5 Linux实验5 Samba 服务配置实验实验报告 Samba 服务配置实验 实验目的 (1) Master the configuration of Samba server ...
- 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 ...
- Kali Linux常用服务配置教程获取IP地址
Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...
- Kali Linux常用服务配置教程启动DHCP服务
Kali Linux常用服务配置教程启动DHCP服务 通过前面的介绍,DHCP服务就配置好了.接下来,用户就可以使用该服务器来获取IP地址了.下面将对前面配置的服务进行测试. 1.启动DHCP服务 如 ...
- Kali Linux常用服务配置教程安装及配置DHCP服务
Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...
- Kali Linux常用服务配置教程DHCP服务原理
Kali Linux常用服务配置教程DHCP服务原理 动态主机配置协议(Dynamic Host Configuration Protocol,简称DHCP)是一个局域网的网络协议,基于UDP协议工作 ...
- Linux DNS 服务配置 (非常详细)
Linux DNS 服务配置 (非常详细) 转载于:https://blog.51cto.com/lidi97/843516
- kali linux查询自己的ip,Kali Linux常用服务配置教程获取IP地址
Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...
最新文章
- IP Header包
- 计算机无线模块怎样关闭,无线模块插在电脑上出现感叹号如何解决?教你三招...
- cn域名注册国外_国内cn域名注册量超com域名,“com”时代结束了吗?
- 杰森·保罗:使VR与人眼相匹配还需20年!
- mybatis实现批量更新
- debian linux修改语言,Debian Linux系统下英文系统切换为中文
- 增大Linux的socket最大连接数(针对select,要编译内核)
- JSP EL 表达式取request parameter
- opencv python安装linux_Ubuntu16.04、Python3.6下安装opencv4遇到的问题
- Oracle归档日志管理
- 基于face_recognition构建的人脸识别系统以及相关应用
- Postman中文版 !!!!傻瓜教程
- 轻量级Kubernetes之k3s:15:firewalld对应方法
- html简单特效代码,html特效代码大全
- UnitySDK新接入记录
- 区块链去中心化有什么优势?
- iPhone2018年最全iPhone尺寸
- 由浅入深!大牛耗时一年最佳总结,让你的app体验更丝滑!3面直接拿到offer
- 阿里云疯狂促销 公有云之战刚鸣枪
- warframe怒焚者结合目标_warframe哪些地图有结合目标 | 手游网游页游攻略大全
热门文章
- google apis 下载
- 解决phpcms v9搜索结果不全或搜索不到内容(不再使用分词进行搜索,而是直接使用输入的关键字搜索)
- Objective-C基础学习心得(更新ing)
- [Vulnhub] Narak
- 音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
- python计算面积代码_利用Python求阴影部分的面积实例代码
- 【云计算】制造业云计算应用趋势分析!
- ALV Tree demo(WBS元素分层显示)[引用别人的]
- python通讯录完整(包括GUI界面)BUG已经修复
- SDAE-stacked denoised autoencoder (堆栈去噪自编码器)