RHEL8 Samba服务器详细配置用户模式

任务: 配置server01为samba服务器,samba服务器的/companydata/sales为共享目录,共享名为sales,里面创建测试文件test_share.tar,创建用户组sales,创建组内用户sale1,要求配置用户模式访问,使得Windows客户端client2和Linux客户端client1分别可以用sale1用户访问server01的samba服务器的/companydata/sales目录,可以看到test_share.tar,可以在该共享目录上创建子目录。


在虚拟机关闭的情况下,vmware虚拟网络编辑器,设置子网网段为192.168.10.0

配置client2宿主机IP

(Windows10客户端)"控制面板"--》"网络和共享中心"--》"更改适配器设置"--》找到网卡VMnet1,右键--》"属性"--》IPV4--》设置IP

(Windows11客户端)设置>>网络和Internet>>高级网络设置>>找到网卡VMnet1>>查看其它属性>>编辑

另一台虚拟机client1,可以将server01虚拟机整个文件夹复制,然后重命名,也可以通过虚拟机克隆出一台client1。

配置server01虚拟机(samba服务器)IP

"编辑虚拟机设置"--》"网络适配器",设置为:仅主机模式--》确定

server01开机,root用户登录,输入nmtui,进入图形界面,设置IP地址和子网掩码。

点击"启用连接"--》选"停用"敲回车,再选"激活"敲回车,相当于让网卡重启。


查看网卡配置文件,可以看到配置已经更改过来了。

复制代码
vim /etc/sysconfig/network-scripts/ifcfg-ens160 

检查IP设置,可以看到已经配置成功。

Client1虚拟机(linux客户端)IP配置方法上同。

测试三台主机的网络连通性(要求互相可以ping通)

server01pingWindows主机

server01ping linux客户端

用yum命令安装samba服务。

安装前先清除缓存,然后开始安装。使用 dnfyum都可以。


建立共享目录,并在其下建立测试文件。

复制代码
[root@server01 samba]# mkdir -p /companydata/sales
[root@server01 samba]# touch /companydata/sales/test1
[root@server01 samba]# touch /companydata/sales/test2
[root@server01 samba]# tar -cvf /companydata/sales/test_share.tar /companydata/sales/


添加用户组sales和创建组内用户sale1并添加相应的samba账号。

复制代码
[root@server01 samba]# groupadd sales
[root@server01 samba]# useradd -g sales sale1
[root@server01 samba]# passwd sale1
[root@server01 samba]# smbpasswd -a sale1



修改samba主配置文件:vim /etc/samba/smb.conf,直接在原文件未尾添加

设置共享目录的本地系统权限和属组。

复制代码
[root@server01 samba]# chmod 770 /companydata/sales -R
[root@server01 samba]# chown :sales /companydata/sales -R

暂时禁掉SELinux

复制代码
[root@server01 samba]# setenforce 0

关掉防火墙

复制代码
[root@server01 samba]# systemctl stop firewalld.service

重新加载samba服务并设置开机时自动启动

复制代码
[root@server01 samba]# systemctl enable smb
[root@server01 samba]# systemctl restart smb

一是在Windows 10中利用资源管理器进行测试,二是利用Linux客户端。

到client2,选择"开始"--》"运行",使用UNC路径访问samba服务器,输入\\192.168.10.1,输入sale1/123456(账户/密码),点"确定"。

使用client2创建client2目录

到client1,安装软件包samba-clientcifs-utils

先编写YUM配置文件。

复制代码
[root@server01 yum.repos.d]# vim localyum.repo
复制代码
[root@server01 yum.repos.d]# yum install -y samba-client
[root@server01 yum.repos.d]# yum install -y cifs-utils


访问server01samba服务器

直接按Enter键,相当于匿名访问,看到的是匿名用户可以看到的共享目录。这种用法是列出共享目录列表。

复制代码
[root@server01 yum.repos.d]# smbclient -L 192.168.10.1

用法是带用户名访问共享目录,可以创建目录,说明有写权限。

exit退出。

复制代码
[root@server01 yum.repos.d]# smbclient // 192.168.10.1/sales -U sale1
相关推荐
Fleshy数模11 分钟前
MySQL 表创建全攻略:Navicat 图形化与 Xshell 命令行双模式实践
linux·mysql
神梦流42 分钟前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年1 小时前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
.小墨迹1 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_2 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield2 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑2 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴2 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道2 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家2 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker