CentOS 上共享文件的正确做法
概念澄清
- Notepad 是 Windows 上的文本编辑器,在 CentOS 中并不存在。文本编辑与“文件共享”是两件事:共享需要通过网络协议把目录或文件提供给其他主机访问。
常用共享方式与选择
- Samba/CIFS:适合与 Windows 互通,也支持 Linux 客户端,配置简单、权限模型丰富。
- NFS:适合 Linux 到 Linux,性能好,配置直观,常用于内网。
- SSHFS:基于 SSH 的安全挂载,适合临时、点对点共享,免复杂服务部署。
- FTP/SFTP:标准文件传输方式,SFTP 随 OpenSSH 提供,适合脚本化与跨平台传输。
Samba 共享步骤(Linux 与 Windows 互通)
- 安装组件
- sudo yum install -y samba
- 创建共享目录与权限
- sudo mkdir -p /home/share
- sudo chmod -R 0777 /home/share
- 编辑配置文件 /etc/samba/smb.conf,在末尾添加
- [share]
- path = /home/share
- browseable = yes
- guest ok = yes
- read only = no
- create mask = 0777
- directory mask = 0777
- 启动与开机自启
- sudo systemctl start smb
- sudo systemctl enable smb
- 防火墙放行
- sudo firewall-cmd --permanent --add-service=samba
- sudo firewall-cmd --reload
- 客户端访问
- Windows:在资源管理器输入 \服务器IP\share
- Linux:smbclient //服务器IP/share -U 用户名
NFS 共享步骤(Linux 到 Linux)
- 安装组件
- sudo yum install -y nfs-utils
- 创建共享目录与权限
- sudo mkdir -p /mnt/nfs_share
- sudo chmod -R 0777 /mnt/nfs_share
- 编辑 /etc/exports
- /mnt/nfs_share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
- 启动与开机自启
- sudo systemctl start nfs-server
- sudo systemctl enable nfs-server
- 客户端挂载
- sudo mount 192.168.1.100:/mnt/nfs_share /mnt/nfs_clientshare
- 持久化(可选)
- 在 /etc/fstab 添加:192.168.1.100:/mnt/nfs_share /mnt/nfs_clientshare nfs defaults 0 0
- 防火墙放行
- sudo firewall-cmd --permanent --add-service=nfs
- sudo firewall-cmd --reload
SSHFS 与 SFTP 的轻量替代
- SSHFS(基于 SSH 的安全挂载)
- 安装:sudo yum install -y sshfs
- 挂载:sshfs user@远程IP:/远程/路径 /本地/挂载点
- 卸载:fusermount -u /本地/挂载点
- SFTP(随 OpenSSH 提供)
- 服务端默认启用(安装 openssh-server 即可)
- 客户端:sftp user@服务器IP,用 get/put 上传下载
安全与排错要点
- 避免使用过于宽松的权限(如 0777),生产环境建议按用户与组设置,并限制共享网段(如 192.168.1.0/24)。
- 防火墙与 SELinux:Samba 放行 samba 服务,NFS 放行 nfs 服务;如遇权限问题,可临时检查 SELinux 状态或设置为宽容模式验证。
- NFS 强依赖 rpcbind 服务,确保已启动并开机自启(systemctl start/enable rpcbind)。
- 客户端连接失败优先检查:网络连通性、共享路径是否存在、权限与防火墙规则是否正确。