Linux文件系统如何进行网络共享
导读:Linux 文件系统网络共享实用指南 一、方案选型与适用场景 NFS(Network File System):适合Linux/Unix 同构环境,配置简洁、性能与 POSIX 兼容性好,常用于内网文件共享与集群。 Samba(SMB/C...
Linux 文件系统网络共享实用指南
一、方案选型与适用场景
- NFS(Network File System):适合Linux/Unix 同构环境,配置简洁、性能与 POSIX 兼容性好,常用于内网文件共享与集群。
- Samba(SMB/CIFS):适合**跨平台(Linux/Windows)**共享,支持文件与打印,便于与 Windows 资源管理器、域环境集成。
- SSHFS:基于 SSH 的 FUSE 文件系统,适合安全、临时、点对点访问,部署快速,无需额外服务。
- CIFS/SMB 客户端挂载:在 Linux 上挂载 Windows/Samba 共享,适合访问既有 SMB 资源。
- 补充:FTP 侧重文件传输而非挂载访问,适合广域网分发与脚本化传输。
二、NFS 共享步骤
- 服务端
- 安装组件:Debian/Ubuntu 执行
sudo apt-get install nfs-kernel-server;CentOS/RHEL 执行sudo yum install nfs-utils。 - 配置导出:编辑 /etc/exports,示例
/shared 192.168.1.0/24(rw,sync,no_subtree_check)。 - 使配置生效:
sudo exportfs -ra;启动服务:sudo systemctl start nfs-server & & sudo systemctl enable nfs-server。 - 防火墙:放行 NFS 相关服务/端口(如
nfs、rpc-bind、mountd),或放行 2049/tcp。
- 安装组件:Debian/Ubuntu 执行
- 客户端
- 安装工具:
sudo apt-get install nfs-common或sudo yum install nfs-utils。 - 临时挂载:
sudo mount 192.168.1.100:/shared /mnt/nfs。 - 开机自动挂载:在 /etc/fstab 添加
192.168.1.100:/shared /mnt/nfs nfs defaults,_netdev 0 0。
- 安装工具:
- 常用排查
- 查看导出:
showmount -e < server_ip>;检查挂载:df -h | grep nfs;连通性/权限问题结合日志与导出规则核对。
- 查看导出:
三、Samba 共享步骤
- 服务端
- 安装组件:
sudo apt-get install samba samba-common-bin或sudo yum install samba samba-client samba-common。 - 配置 /etc/samba/smb.conf(示例):
[global] workgroup = WORKGROUP security = user map to guest = bad user [Share] path = /srv/samba/share browsable = yes writable = yes guest ok = yes read only = no - 创建共享目录并设权限:
sudo mkdir -p /srv/samba/share & & sudo chmod 2775 /srv/samba/share & & sudo chown nobody:nogroup /srv/samba/share(示例权限,按需求调整)。 - 添加 Samba 用户:
sudo smbpasswd -a < username>。 - 启动服务:
sudo systemctl start smb & & sudo systemctl enable smb。 - 防火墙:如 UFW 执行
sudo ufw allow 'Samba';firewalld 放行 Samba 服务或相应端口。
- 安装组件:
- 客户端访问
- Linux 挂载:
sudo mount -t cifs //< server_ip> /Share /mnt/smb -o username=< user> ,password=< pass> ,iocharset=utf8。 - Windows:在资源管理器输入
\\< server_ip> \Share。
- Linux 挂载:
- 验证与排错
- 语法检查:
testparm;日志:/var/log/samba/log.*。
- 语法检查:
四、SSHFS 快速安全访问
- 前提:服务端已运行 SSH 服务。
- 客户端安装:
sudo apt-get install sshfs或sudo yum install fuse-sshfs。 - 挂载:
sshfs < user> @< remote_host> :/remote/dir ~/remote_mount。 - 卸载:
fusermount -u ~/remote_mount。 - 适用:临时访问、跨公网的点对点安全共享、无需在远端部署额外服务。
五、安全与运维要点
- 最小权限与身份映射
- NFS:优先使用
root_squash(默认)避免客户端 root 提升;仅在可信环境谨慎使用no_root_squash。 - Samba:使用 有效用户/组 控制访问,结合
valid users、write list;为 Samba 单独设置密码。
- NFS:优先使用
- 访问控制与加密
- 以 IP/网段白名单 限制共享范围;Samba 启用
encrypt passwords = yes。
- 以 IP/网段白名单 限制共享范围;Samba 启用
- 防火墙与端口
- NFS:放行 2049/tcp 及
rpcbind、mountd相关服务/端口。 - Samba:放行 Samba 服务或对应端口(如 139/TCP、445/TCP)。
- NFS:放行 2049/tcp 及
- 文件系统与 ACL
- 结合 Linux 权限(u/g/o) 与 ACL 做细粒度授权;共享目录建议使用 粘滞位/组写 等通用实践。
- 高可用与性能
- NFS:按场景选择
sync/async、no_subtree_check等导出选项;对关键数据考虑 备份/冗余。 - Samba:可按需调整
oplocks、socket options等参数以平衡性能与一致性。
- NFS:按场景选择
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux文件系统如何进行网络共享
本文地址: https://pptw.com/jishu/786498.html
