文档首页> 云计算> Linux挂载Windows共享文件夹和NAS存储

Linux挂载Windows共享文件夹和NAS存储

发布时间:2025-07-27 00:04       

Linux挂载Windows共享文件夹与NAS存储的专业指南 🖥️


一、挂载Windows共享文件夹(SMB/CIFS协议)

前提条件

  1. 安装CIFS工具包:

    # Debian/Ubuntu  
    sudo apt update && sudo apt install cifs-utils  
    # RHEL/CentOS  
    sudo yum install cifs-utils  
    

    📌 cifs-utils:提供SMB协议挂载支持,支持SMB1/2/3版本

  2. 创建本地挂载点:

    sudo mkdir -p /mnt/win_share  
    

    📌 -p:自动创建多级目录,避免路径不存在错误

手动挂载命令

sudo mount -t cifs //192.168.1.100/SharedFolder /mnt/win_share -o username=winuser,password=YourPass,uid=1000,gid=1000,vers=3.0  

参数详解

  • -t cifs:指定文件系统类型为CIFS(SMB协议)
  • username/password:Windows共享账户凭据
  • uid/gid:映射为Linux用户的UID/GID(通过 id命令查看)
  • vers=3.0:强制使用SMB3协议(提升安全性和性能)
  • sec=ntlmssp:NTLM认证(若Windows启用NTLMv2)

开机自动挂载
编辑 /etc/fstab 文件:

//192.168.1.100/SharedFolder  /mnt/win_share  cifs  credentials=/etc/smb.cred,vers=3.0,uid=1000,gid=1000  0  0  

创建凭据文件(避免密码明文暴露):

echo "username=winuser" > /etc/smb.cred  
echo "password=YourPass" >> /etc/smb.cred  
chmod 600 /etc/smb.cred  # 限制文件权限  

二、挂载NAS存储(NFS协议)

前提条件

  1. 确保NAS启用NFS共享(群晖/QNAP等需在控制面板开启)
  2. 安装NFS客户端:
    sudo apt install nfs-common    # Debian/Ubuntu  sudo yum install nfs-utils     # RHEL/CentOS  
    

手动挂载命令

sudo mount -t nfs 192.168.1.200:/volume1/data /mnt/nas_data -o rw,nosuid,noexec  

参数详解

  • -t nfs:指定NFS文件系统(默认为NFSv4,兼容v3/v4.1/v4.2)
  • rw:读写权限(若只读用 ro
  • nosuid:禁用SUID权限(安全加固)
  • noexec:禁止执行二进制文件(防恶意程序)
  • resvport:使用特权端口(部分NAS要求)

开机自动挂载
编辑 /etc/fstab

192.168.1.200:/volume1/data  /mnt/nas_data  nfs  rw,nosuid,noexec,_netdev  0  0  

⚠️ _netdev:等待网络就绪后再挂载(避免启动失败)


三、高级配置与问题排查 🔧

1. 权限问题解决方案

# 查看共享文件权限  
ls -ld /mnt/win_share  

# 修改挂载点所有权  
sudo chown -R youruser:yourgroup /mnt/win_share  

💡 Windows ACL权限需通过 cifsacl内核模块映射(需重新编译内核)

2. 性能优化参数

# SMB挂载优化(添加至-o选项)  
rw,noatime,cache=strict,dir_cache=yes  

# NFS挂载优化  
rw,async,noatime,rsize=131072,wsize=131072  
  • async:异步写入(提升速度,但有数据丢失风险)
  • rsize/wsize:读写缓冲区大小(默认4K,建议128K)

3. 连接故障排查

# 测试SMB共享可达性  
smbclient -L //192.168.1.100 -U winuser  

# 测试NFS共享导出列表  
showmount -e 192.168.1.200  

# 查看实时挂载状态  
mount | grep -E "cifs|nfs"  
dmesg | tail -20  # 检查内核日志  

四、企业级场景实践 🏢

场景1:高可用NAS挂载(NFSv4.1+)

mount -t nfs -o minorversion=1 192.168.1.200,192.168.1.201:/share /mnt/nas  

🌐 多IP实现故障转移(需NAS支持pNFS)

场景2:SMB加密传输(企业安全要求)

mount -t cifs ... -o seal,vers=3.1.1  
  • seal:启用SMB3加密(防止中间人攻击)

场景3:Kerberos认证(AD域环境)

mount -t cifs ... -o sec=krb5,domain=YOURDOMAIN  

🔑 需提前配置 kinit获取Kerberos票据


总结:最佳实践 ✅

  1. 协议选择
    • 内网Windows共享 → SMB3vers=3.0
    • Linux/企业NAS → NFSv4(性能与安全平衡)
  2. 安全加固
    • 禁用 suid/exec
    • 使用凭据文件替代明文密码
    • SMB启用加密(seal选项)
  3. 持久化配置