在企业级环境中,CentOS 和 Windows 系统之间的文件共享是常见的需求,无论是为了实现资源共享、数据备份还是跨平台协作,掌握 CentOS 与 Windows 之间的共享方法都至关重要,下面将详细介绍如何在 CentOS 上设置共享目录以供 Windows 访问,以及如何在 CentOS 上访问 Windows 的共享资源:
CentOS 共享给 Windows
1、安装 Samba:

使用以下命令检查是否已安装 Samba 客户端和服务器软件包:
rpm q cifsutils sambaclient如果未安装,则通过以下命令进行安装:
sudo yum install samba sambaclient y2、配置 Samba:
编辑 Samba 配置文件/etc/samba/smb.conf,在文件末尾添加以下内容以创建一个新的共享文件夹 [share]:
[share]
path = /path/to/shared/folder
available = yes
valid users = @sambashare
read only = no
browsable = yes
public = yes
writable = yespath 指定要共享的目录路径,valid users 指定可以访问该共享的用户组,这里假设已经有一个名为sambashare 的用户组。
3、创建共享目录并设置权限:

创建共享目录并设置适当的权限:
sudo mkdir p /path/to/shared/folder
sudo chmod 775 /path/to/shared/folder
sudo chown R root:sambashare /path/to/shared/folder4、添加用户到 Samba 用户组:
将需要访问共享目录的用户添加到sambashare 用户组:
sudo usermod aG sambashare username5、启动并启用 Samba 服务:
启动 Samba 服务并设置为开机自启:
sudo systemctl start smb
sudo systemctl enable smb6、设置 SELinux 策略(可选):

临时禁用 SELinux:
sudo setenforce 0 或者永久修改 SELinux 配置,编辑/etc/selinux/config 文件,将SELINUX=enforcing 改为SELINUX=disabled,然后重启系统。
Windows 共享给 CentOS
1、Windows 端设置共享文件夹:
右键点击要共享的文件夹,选择“属性”,在“共享”选项卡中点击“高级共享”。
勾选“共享此文件夹”,并添加需要访问该共享的用户名或用户组,如 “everyone”,然后点击“共享”。
在“高级共享”设置中,设置适当的权限,确保 CentOS 用户可以访问该共享文件夹。
2、CentOS 端挂载 Windows 共享目录:
在 CentOS 上创建一个本地目录作为挂载点:
sudo mkdir /mnt/windows_share 使用mount 命令挂载 Windows 共享目录:
sudo mount t cifs o username=windows_user,password=windows_password //windows_ip/shared_folder /mnt/windows_sharewindows_user 和windows_password 分别是 Windows 系统的用户名和密码,windows_ip 是 Windows 系统的 IP 地址,shared_folder 是 Windows 上的共享文件夹名称。
3、验证挂载结果:
使用ls 命令查看挂载点下的文件列表,确认是否成功挂载:
ls /mnt/windows_share如果看到共享文件夹中的文件列表,说明访问成功。
FAQs
1、Q: CentOS 和 Windows 之间共享文件时,如果遇到权限问题怎么办?
A: 确保在 Windows 上设置共享文件夹时,正确配置了访问权限,并且在 CentOS 上挂载 Windows 共享目录时使用了正确的用户名和密码,检查 CentOS 上的用户是否有足够的权限访问该共享文件夹,如果仍然遇到问题,可以尝试临时禁用 SELinux 或调整防火墙设置。
2、Q: 如何在 CentOS 上访问 Windows 的共享资源?
A: 在 CentOS 上,可以使用mount 命令挂载 Windows 共享目录,创建一个本地目录作为挂载点,然后使用mount t cifs 命令挂载 Windows 共享目录,指定 Windows 系统的用户名、密码、IP 地址和共享文件夹名称。
