CentOS文件系统共享的常见方法:Samba(Windows兼容)与NFS(Linux/Unix兼容)
Samba是CentOS上最常用的跨平台文件共享解决方案,支持Windows客户端通过\\IP\共享名访问Linux共享目录。
sudo yum install samba samba-client samba-common -y # CentOS 7/8/Stream
sudo mkdir -p /srv/samba/shared # 创建共享目录(路径可自定义)
sudo chmod -R 0777 /srv/samba/shared # 开放读写权限(生产环境建议按需调整,如0775)
sudo chown -R nobody:nogroup /srv/samba/shared # 设置匿名访问所有者(可选)
编辑主配置文件/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 # 新建目录权限
若guest ok = no,需将系统用户添加为Samba用户:
sudo smbpasswd -a your_username # 创建Samba用户(需先存在系统用户)
sudo smbpasswd -e your_username # 启用用户(可选)
sudo systemctl start smb nmb # 启动Samba服务(smb负责文件共享,nmb负责名称解析)
sudo systemctl enable smb nmb # 设置开机自启
sudo firewall-cmd --permanent --add-service=samba # 开放Samba服务端口(137-139、445)
sudo firewall-cmd --reload # 重新加载防火墙规则
\\CentOS_IP\shared,若配置了匿名访问可直接进入;若需认证,输入Samba用户名和密码。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系统间的原生共享协议,传输效率高,适合服务器集群共享文件。
sudo yum install nfs-utils rpcbind -y # CentOS 7/8/Stream
sudo mkdir -p /mnt/nfs_share # 创建共享目录
sudo chmod -R 0777 /mnt/nfs_share # 开放读写权限(生产环境建议按需调整)
sudo chown -R nobody:nobody /mnt/nfs_share # 设置匿名访问所有者(可选)
编辑配置文件/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:禁用子树检查(提升性能)。sudo systemctl start nfs-server rpcbind # 启动服务(rpcbind用于端口映射)
sudo systemctl enable nfs-server rpcbind # 设置开机自启
sudo exportfs -ra # 重新加载配置,使共享生效
sudo showmount -e localhost # 查看本机共享的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)
编辑客户端/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通服务器。setsebool -P samba_enable_home_dirs on,NFS共享目录设置setsebool -P nfs_export_all_rw on)。以上步骤覆盖了CentOS文件系统共享的主流场景,可根据实际需求选择Samba(跨平台)或NFS(Linux专用)方案。