samba服务器的安装
一、网络配置
🚀 VMware 虚拟机 NAT 模式配置步骤
1. 准备主机网络信息
首先,打开VMware的编辑>虚拟网络编辑器。
选中VMnet8(NAT模式)。
记下这三项关键信息,稍后配置时会用到:
子网 IP(例如
192.168.xx.0)子网掩码(例如
255.255.255.0)网关 IP(点击"NAT设置"按钮查看,通常是
192.168.xx.2)
📌 注意:若使用静态IP,建议取消勾选“使用本地 DHCP 服务”。
2. 在 CentOS 7 内配置网络
现在进入 CentOS 7 虚拟机内部进行操作。
确认网卡名称:使用
ip addr或ifconfig命令,查看你的网卡名称(如ens33或ens32)。编辑网卡配置文件:
执行命令
vi /etc/sysconfig/network-scripts/ifcfg-ens33(将ens33换成你的实际网卡名)。确保以下参数配置正确:
参数项 配置值 说明 BOOTPROTOstatic设为静态IP,若用DHCP自动获取则填 dhcpONBOOTyes确保系统启动时激活此网卡 IPADDR192.168.xx.100自定义静态IP,必须与VMnet8子网在同一网段 NETMASK255.255.255.0与VMnet8子网掩码保持一致 GATEWAY192.168.xx.2必须与VMnet8的网关地址一致 DNS1114.114.114.114国内通用DNS服务器,也可填 8.8.8.8DNS2223.5.5.5备用DNS服务器(阿里) 关于配置方法:
静态IP(推荐):按照上表填写,需确保
IPADDR未被局域网内其他设备占用。动态IP(DHCP):将
BOOTPROTO设为dhcp,并注释掉或删除IPADDR、NETMASK、GATEWAY这几行即可。
重启网络服务:保存文件并退出编辑器后,执行
systemctl restart network使配置生效。
3. 验证网络连通性
最后,进行连通性测试:
测试网关:
ping <你的网关IP>,例如ping 192.168.xx.2。测试外网:
ping www.baidu.com。如果ping不通但能ping通8.8.8.8,说明DNS解析可能有问题,请检查/etc/resolv.conf文件。
二、yum源的安装配置
基础:
1)yum源的文件地址存放:/etc/yun.repos.d/centOS-Base.repo
2)查看当前已启用的yum源:
yum repolist # 列出所有已启用的源 yum repolist all # 包括已禁用的源3)配置文件的基本参数
1、官方源文件内容:
[base] name=CentOS-$releasever - Base baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enabled=14)每个.repo文件的作用
| 文件名 | 默认 enabled | 用途 |
|---|---|---|
CentOS-Base.repo | 1 | 核心软件包源:base、updates、extras(日常安装/更新软件) |
CentOS-Debuginfo.repo | 0(默认禁用) | 调试符号包,一般用户不需要 |
CentOS-Sources.repo | 0 | 源码包(SRPM),普通用户无需启用 |
CentOS-CR.repo | 0 | Continuous Release,滚动更新(很少用) |
CentOS-fasttrack.repo | 0 | 快速跟踪更新(部分软件提前发布) |
CentOS-Media.repo | 0 | 本地光盘/ISO 作为源 |
CentOS-Vault.repo | 0 | 归档旧版本软件包(CentOS 7 停止维护后,可启用此源) |
CentOS-x86_64-kernel.repo | 0 | 特殊内核版本源 |
结论:默认情况下,只有CentOS-Base.repo是启用的,其他都是enabled=0。因此更换阿里云源时,只需要替换这一个生效的源文件。其他文件即使存在,也不会影响 Yum 的行为。
2、配置参数:
[仓库ID]:唯一标识符name:仓库描述baseurl:软件包所在的 URL 或本地路径mirrorlist:镜像列表 URL(与 baseurl 二选一)enabled=1:启用该仓库gpgcheck=1:开启 GPG 校验gpgkey:GPG 公钥的位置
一、本地yum源的安装
1、虚拟机上勾选连接,确保光盘在系统上
2、使用df -h命令查看光盘是否挂载
3、使用cd进入yum源的配置文件,将本地源进行备份为backup文件
4、用vim命令创建一个名为local.repo的配置文件将参数写入文本中
5、清理并重建缓存
二、阿里云源的更换(下载阿里云源)
更换源的本质:修改.repo文件,让 Yum 指向另一个提供相同软件包(但可能更快、更稳定)的服务器。
步骤
1、备份原本的镜像源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2、下载阿里云CentOS7的镜像源配置文件
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo或使用wget(如若下载了该工具包):wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、清除并重建镜像源缓存
4、验证源是否生效
修正:
Yum源的更换分为两种方式:手动配置和脚本一键自动配置
一、手动更换为阿里的yum源
在前置任务(网络的配置)完成的情况下,我们进入/etc/yum.repos.d/目录下用ls查看已有的.repo文件并在该目录下创建备份文件并对其进行备份(可单一文件、或所有文件)
# 进入yum源配置目录 cd /etc/yum.repos.d/ # 创建备份文件夹,并将所有.repo文件移入备份 mkdir -p backup && mv *.repo backup/接着用curl命令下载阿里云的镜像源地址:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo下载完成后清理缓存,并重新建立源缓存:
clean all yum makecache最后验证是否更换成功:
yum repolist注意:如果显示yum的源缓存建立完毕,说明阿里源生效了!
三、samba服务的搭建步骤
1. 查看服务器 IP 地址
bash
ip addr show # 或 ifconfig # 需要 net-tools 包
原理:ip addr显示所有网络接口的 IP 地址、MAC、状态。用于后续客户端访问。
2. 确定 samba 是否安装,未安装则安装
bash
rpm -qa | grep samba # 查询已安装的 samba 相关包 yum install -y samba samba-client samba-common
原理:rpm -qa列出所有已安装包,通过grep过滤。yum会自动解决依赖。
3. 查看 samba 服务状态,若未启动则启动
bash
systemctl status smb nmb # 查看状态 systemctl start smb nmb # 启动服务 systemctl enable smb nmb # 设置开机自启
原理:smb为核心文件共享服务,nmb为 NetBIOS 名称解析服务(让 Windows 能通过主机名找到服务器)。
4. 备份 samba 配置文件
bash
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
原理:备份原始配置,避免配置错误无法恢复。
5. 创建用户 smbuser 及共享目录
bash
useradd -M -s /sbin/nologin smbuser # 创建系统用户,无家目录,禁止登录 smbpasswd -a smbuser # 设置 samba 密码(与系统密码独立) mkdir -p /home/smbuser/share chown smbuser:smbuser /home/smbuser/share chmod 755 /home/smbuser/share
原理:Samba 用户必须对应一个系统用户,但通常设为不可登录(nologin)增强安全。smbpasswd -a将该用户添加到 samba 密码数据库(/var/lib/samba/private/passdb.tdb)。目录权限755表示所有者可读写执行,组和其他可读执行。
6. 按照要求配置 samba 服务(编写配置文件)
编辑/etc/samba/smb.conf,在末尾添加:
ini
[smbshare] comment = Share for smbuser path = /home/smbuser/share valid users = smbuser writable = yes browseable = yes create mask = 0644 directory mask = 0755
参数解释:
[smbshare]:共享名,客户端看到的文件夹名。valid users:只允许 smbuser 访问。writable = yes:允许上传、修改、删除文件。create mask / directory mask:新建文件的权限掩码。
7. 校验配置文件是否正确
bash
testparm
原理:testparm会解析smb.conf,检查语法错误并输出最终生效的配置。建议每次修改后都运行。
8. 重启 samba 服务
bash
systemctl restart smb nmb
原理:使新配置生效。
9. 配置防火墙与 SELinux(实验要求可直接关闭)
关闭防火墙(仅实验环境):
bash
systemctl stop firewalld systemctl disable firewalld
关闭 SELinux:
bash
setenforce 0 # 临时关闭 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 永久关闭
原理:防火墙会拦截 Samba 端口(139,445,137,138),SELinux 会限制 samba 进程对目录的访问。关闭可简化实验,但生产环境应放行服务而非关闭。
10. 使用 Windows 系统测试 samba 服务
测试要求实现方法:
要求1:在 Linux 中创建学号文件,内容为班级+姓名(缩写)
bash
echo "班级:软件工程1班 姓名:张三" > /home/smbuser/share/2024001.txt
然后在 Windows 资源管理器地址栏输入
\\<Linux服务器IP>,输入用户名smbuser和 samba 密码,打开共享smbshare,即可看到该文件。要求2:在 Windows 共享目录中右键新建文本文件,命名为你的中文名字(如
李四.txt),内容写学号和班级。保存后回到 Linux:bash
cat /home/smbuser/share/李四.txt
应能看到内容。
