在 CentOS 7 中实现文件共享有多种方法,包括使用 Samba、NFS 和 vsftpd,以下是每种方法的详细步骤及配置示例:
Samba 文件共享
安装与配置 Samba

1、安装 Samba:
- yum install y samba sambaclient sambacommon cifsutils
2、创建共享目录:
- mkdir /home/myshare
- chmod R 777 /home/myshare
3、添加 Samba 用户:
- smbpasswd a username
4、编辑配置文件/etc/samba/smb.conf
:
- [global]
- workgroup = WORKGROUP
- server string = Samba Server %v
- netbios name = myserver
- security = user
- map to guest = Bad User
- [myshare]
- comment = Share Files
- path = /home/myshare
- valid users = username
- public = no
- writable = yes
- browseable = yes
5、启动 Samba 服务并加入开机启动:
- systemctl restart smb
- systemctl enable smb
6、关闭防火墙或开放 Samba 端口:

- firewallcmd permanent addservice=samba
- firewallcmd reload
7、访问共享文件夹:
在 Windows 资源管理器地址栏输入\\服务器IP地址\myshare
,然后输入账户名和密码即可访问共享文件。
常见问题与解决
1、SELinux 导致无法访问:
解决方法是临时关闭 SELinux 或设置特定规则允许 Samba 访问。
- setenforce 0
2、防火墙阻止访问:

确保防火墙允许 Samba 服务的相关端口(TCP 139, TCP 445, UDP 137, UDP 138)。
NFS 文件共享
安装与配置 NFS
1、安装 NFS 相关软件包:
- yum install y nfsutils rpcbind
2、创建共享目录并设置权限:
- mkdir p /share/data
- chmod 755 /share/data
- echo "This is a test page" > /share/data/index.html
3、编辑/etc/exports
文件:
- /share/data 192.168.29.0/24(rw,sync,no_root_squash,no_subtree_check)
4、启动 NFS 和 rpcbind 服务并加入开机启动:
- systemctl start nfsserver rpcbind
- systemctl enable nfsserver rpcbind
5、挂载共享目录:
在客户端执行以下命令挂载共享目录:
- mount t nfs 192.168.29.132:/share/data /mnt/nfs
6、验证挂载结果:
- ls /mnt/nfs
vsftpd 文件共享
安装与配置 vsftpd
1、安装 vsftpd:
- yum install y vsftpd
2、创建用户并设置密码:
- useradd kefu
- echo "kefupassword" | passwd stdin kefu
3、创建用户主目录并设置权限:
- mkdir p /data/kefu/data
- chown R kefu:kefu /data/kefu/data
- chmod R 755 /data/kefu/data
4、编辑 vsftpd 配置文件/etc/vsftpd/vsftpd.conf
:
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- local_umask=022
- dirmessage_enable=YES
- xferlog_enable=YES
- connect_from_port_20=YES
- xferlog_std_format=YES
- listen=YES
- pam_service_name=vsftpd
- local_root=/data/kefu/data
- userlist_enable=YES
- tcp_wrappers=YES
5、启动 vsftpd 服务并加入开机启动:
- systemctl restart vsftpd
- systemctl enable vsftpd
6、访问 vsftpd 共享:
使用 FTP 客户端连接服务器 IP 地址,并使用kefu
用户名和密码登录。
介绍了在 CentOS 7 中实现文件共享的三种主要方法:Samba、NFS 和 vsftpd,每种方法都有其适用的场景和优缺点,Samba 适合跨平台文件共享,尤其是与 Windows 系统的互操作;NFS 适用于 Linux 和 Unix 系统之间的文件共享;vsftpd 则提供了一种安全的文件传输方式,特别适合需要高安全性的场景,选择合适的文件共享方法取决于具体的应用需求和网络环境。