在 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 则提供了一种安全的文件传输方式,特别适合需要高安全性的场景,选择合适的文件共享方法取决于具体的应用需求和网络环境。