CentOS文件系统如何共享
导读:CentOS文件系统共享的常见方法:Samba(Windows兼容)与NFS(Linux/Unix兼容) 一、Samba共享(适用于Windows与Linux混合环境) Samba是CentOS上最常用的跨平台文件共享解决方案,支持Wind...
CentOS文件系统共享的常见方法:Samba(Windows兼容)与NFS(Linux/Unix兼容)
一、Samba共享(适用于Windows与Linux混合环境)
Samba是CentOS上最常用的跨平台文件共享解决方案,支持Windows客户端通过\\IP\共享名访问Linux共享目录。
1. 安装Samba服务
sudo yum install samba samba-client samba-common -y # CentOS 7/8/Stream
2. 创建共享目录并设置基础权限
sudo mkdir -p /srv/samba/shared # 创建共享目录(路径可自定义)
sudo chmod -R 0777 /srv/samba/shared # 开放读写权限(生产环境建议按需调整,如0775)
sudo chown -R nobody:nogroup /srv/samba/shared # 设置匿名访问所有者(可选)
3. 配置Samba共享规则
编辑主配置文件/etc/samba/smb.conf,在末尾添加共享段:
sudo vi /etc/samba/smb.conf
添加以下内容(按需修改):
[shared] # 共享名称(Windows端访问时使用)
path = /srv/samba/shared # 实际共享目录路径
browseable = yes # 允许浏览共享
writable = yes # 允许写入
guest ok = yes # 允许匿名访问(若需认证,改为no并配置valid users)
create mask = 0777 # 新建文件权限
directory mask = 0777 # 新建目录权限
4. 设置Samba用户(认证访问需配置)
若guest ok = no,需将系统用户添加为Samba用户:
sudo smbpasswd -a your_username # 创建Samba用户(需先存在系统用户)
sudo smbpasswd -e your_username # 启用用户(可选)
5. 启动Samba服务并设置开机自启
sudo systemctl start smb nmb # 启动Samba服务(smb负责文件共享,nmb负责名称解析)
sudo systemctl enable smb nmb # 设置开机自启
6. 配置防火墙允许Samba流量
sudo firewall-cmd --permanent --add-service=samba # 开放Samba服务端口(137-139、445)
sudo firewall-cmd --reload # 重新加载防火墙规则
7. 测试访问
- Windows客户端:打开文件资源管理器,输入
\\CentOS_IP\shared,若配置了匿名访问可直接进入;若需认证,输入Samba用户名和密码。 - Linux客户端:安装
cifs-utils后挂载:sudo yum install cifs-utils -y sudo mkdir /mnt/samba_shared sudo mount -t cifs //CentOS_IP/shared /mnt/samba_shared -o username=your_username,password=your_password
二、NFS共享(适用于Linux/Unix环境)
NFS是Linux系统间的原生共享协议,传输效率高,适合服务器集群共享文件。
1. 安装NFS服务
sudo yum install nfs-utils rpcbind -y # CentOS 7/8/Stream
2. 创建共享目录并设置权限
sudo mkdir -p /mnt/nfs_share # 创建共享目录
sudo chmod -R 0777 /mnt/nfs_share # 开放读写权限(生产环境建议按需调整)
sudo chown -R nobody:nobody /mnt/nfs_share # 设置匿名访问所有者(可选)
3. 配置NFS共享规则
编辑配置文件/etc/exports,添加共享规则:
sudo vi /etc/exports
添加以下内容(按需修改):
/mnt/nfs_share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
192.168.1.0/24:允许访问的客户端IP段(可替换为单个IP,如192.168.1.100);rw:读写权限;sync:同步写入(数据安全性更高,性能略低);no_root_squash:允许客户端root用户保留root权限(慎用,若需安全可改为root_squash);no_subtree_check:禁用子树检查(提升性能)。
4. 启动NFS服务并导出共享
sudo systemctl start nfs-server rpcbind # 启动服务(rpcbind用于端口映射)
sudo systemctl enable nfs-server rpcbind # 设置开机自启
sudo exportfs -ra # 重新加载配置,使共享生效
5. 验证共享目录
sudo showmount -e localhost # 查看本机共享的NFS目录
6. 在客户端挂载NFS共享
sudo yum install nfs-utils -y # 客户端需安装nfs-utils
sudo mkdir -p /mnt/nfs_client # 创建本地挂载点
sudo mount 192.168.1.100:/mnt/nfs_share /mnt/nfs_client # 挂载服务器共享目录(IP替换为服务器IP)
7. 设置开机自动挂载(可选)
编辑客户端/etc/fstab文件,添加以下内容:
sudo vi /etc/fstab
添加:
192.168.1.100:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
保存后,客户端重启时会自动挂载共享目录。
常见问题排查
- 权限不足:检查共享目录权限(
chmod/chown)和Samba/NFS配置中的权限设置(如rw、guest ok)。 - 无法访问:确认服务已启动(
systemctl status smb/nfs-server)、防火墙开放了对应端口(Samba:137-139、445;NFS:2049、111)、客户端能ping通服务器。 - SELinux问题:若启用了SELinux,需调整策略(如Samba共享目录设置
setsebool -P samba_enable_home_dirs on,NFS共享目录设置setsebool -P nfs_export_all_rw on)。
以上步骤覆盖了CentOS文件系统共享的主流场景,可根据实际需求选择Samba(跨平台)或NFS(Linux专用)方案。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS文件系统如何共享
本文地址: https://pptw.com/jishu/734681.html
