> 技术文档 > 【服务器】教程 — Linux上如何挂载服务器NAS_linux nas

【服务器】教程 — Linux上如何挂载服务器NAS_linux nas


【教程】如何挂载服务器NAS

    • 摘要
  • 【教程】如何挂载服务器NAS
  • 服务器连接NAS
    • 以下命令取消挂载
      • 1. `sudo`
      • 2. `mount`
      • 3. `-t cifs`
      • 4. `-o`(options)
      • 5. `//59.xx.xx.xx/qwt`
      • 6. `/home/qwt/nas`
    • 完整示例
  • 测试是否成功连接并可读写
  • 参考文章

摘要

本文系统地演示了在 Linux 服务器上挂载 Windows/CIFS NAS 的全过程,主要包括以下几个步骤:

  1. 确认共享路径
    通过浏览器访问 NAS 客户端(如 http://59.xx.xx.xx:8080/cgi-bin/),定位目标共享文件夹(格式 ///)。

  2. 创建本地挂载点
    在服务器上执行:

    mkdir -p /home/qwt/nas
  3. 执行挂载操作
    使用以下命令将远程 CIFS 共享挂载到本地目录

 sudo mount -t cifs -o username=qwt,password=qwt,iocharset=utf8,uid=1005,gid=1006,file_mode=0664,dir_mode=0775 //59.xx.xx.xx/qwt /home/qwt/nas
  • username/password:登录 NAS 的凭据
  • iocharset=utf8:保证文件名的字符集转换
  • uid/gid:挂载后文件归属的本地用户和组
  • file_mode=0664:文件权限 -rw-rw-r--
  • dir_mode=0775:目录权限 drwxrwxr-x
  1. 取消挂载
sudo umount /home/qwt/nas
  1. 验证挂载与读写

    • 进入挂载目录:cd /home/qwt/nas

    • 下载测试文件:

      wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    • 使用 df -h 查看挂载容量

【教程】如何挂载服务器NAS

首先你可能可以登录你的nas客户端查看是否有你的文件夹
比如http://59.xx.xx.xx:8080/cgi-bin/

查看你对应的文件夹
【服务器】教程 — Linux上如何挂载服务器NAS_linux nas

后续要使用这个进行登录,格式为IP/文件夹
比如//59.xx.x.xx/qwt

服务器连接NAS

在你的服务器创建一个文件夹用于挂载NAS
比如/home/qwt/nas
然后挂载nas可能会需要sudo权限

然后使用以下命令行进行加载:

sudo mount -t cifs -o \\username=qwt,password=qwt,iocharset=utf8,uid=1005,\\gid=1006,file_mode=0664,dir_mode=0775 \\//59.xx.xx.xx/qwt /home/qwt/nas

【服务器】教程 — Linux上如何挂载服务器NAS_linux nas

  • 连接成功不会输出消息
  • 【服务器】教程 — Linux上如何挂载服务器NAS_linux nas

以下命令取消挂载

sudo umount /home/qwt/nas
  • 下面我按执行顺序,逐项详细拆解这条 CIFS 挂载命令中的各个参数及用法:
sudo mount -t cifs -o \\ username=qwt,password=qwt,iocharset=utf8,uid=1005,\\gid=1006,file_mode=0664,dir_mode=0775 \\ //59.xx.xx.xx/qwt /home/qwt/nas

1. sudo

  • 作用:以超级用户(root)权限运行后面的命令
  • 使用场景:挂载操作需要写入系统的 /proc/mounts、创建设备节点或设置文件属主等,普通用户通常无法完成,需要提权

2. mount

  • 作用:将一个文件系统(本地或网络)“挂载”到系统的某个目录,使其内容可通过该目录访问

  • 常见用法

    mount [参数] <设备或网络共享> <挂载点>

3. -t cifs

  • 含义:指定文件系统类型为 CIFS(Common Internet File System),即 Windows/SMB 网络共享协议
  • 可选值cifssmbfs(过时)
  • 何时必要:如果不加 -t cifsmount 会尝试自动检测,但显式指定更可靠

4. -o(options)

所有挂载选项统一放在 -o 之后,用逗号分隔。下面依次说明本例中的每个选项:

选项 含义 示例 username=qwt 用于登录远端 SMB 共享的用户名 如果共享需要域账号,可写成 username=DOMAIN\\\\user password=qwt 与用户名配套的密码 安全建议:可用 credentials=/path/to/credfile 避免明文出现在命令行 iocharset=utf8 指定客户端字符集,将远端文件名的编码(如 GBK、ISO8859-1)转换为本地 UTF-8 确保中日韩等非 ASCII 名称能正确显示 uid=1005 挂载后,所有文件默认归属的 Linux 本地用户 ID 可写用户名形式:uid=qwt gid=1006 挂载后,所有文件默认归属的 Linux 本地组 ID 可写组名形式:gid=qwt file_mode=0664 当服务器不支持 UNIX 扩展时,给挂载的文件统一设定的权限位 0664-rw-rw-r-- dir_mode=0775 当服务器不支持 UNIX 扩展时,给挂载的目录统一设定的权限位 0775drwxrwxr-x

Tip:如果远端支持 CIFS UNIX 扩展(nounix 未启用),客户端会读取真实的服务端权限,此时这两项可以省略。


下面分别用两个表格列出常见的 file_modedir_mode 代码示例、对应的权限位、含义及典型适用场景。

1. file_mode 常用代码示例

代码 权限位 含义 适用场景 0644 -rw-r--r-- 拥有者可读写,组和其他用户只读 公开只读文件;仅管理员/拥有者可修改 0664 -rw-rw-r-- 拥有者和组可读写,其他用户只读 小团队协作,共享组内可写,外部只读 0666 -rw-rw-rw- 所有人都可读写 临时共享目录,任何人都可上传/下载 0777 -rwxrwxrwx 所有人可读、写、执行(对文件仅意义为可执行位) 脚本或二进制需要所有人可执行

2. dir_mode 常用代码示例

代码 权限位 含义 适用场景 0755 drwxr-xr-x 拥有者可读写执行,组和其他用户可读执行 公开目录;他人可浏览/下载,但只能拥有者可写入 0775 drwxrwxr-x 拥有者和组可读写执行,其他用户可读执行 小团队共享目录;组内成员可创建/删除,外部成员只能浏览 0777 drwxrwxrwx 所有人可读写执行 无访问限制的目录;可任意上传、下载、进入

5. //59.xx.xx.xx/qwt

  • 含义:要挂载的网络共享路径

    • ///
    • 支持使用 DNS 名称://fileserver.example.com/qwt
  • 注意

    • 如果共享在特定端口(非 445),可以在 IP 后加端口://59.xx.xx.xx:139/qwt
    • 路径要与服务端配置的“共享名称”严格一致

6. /home/qwt/nas

  • 含义:本地挂载点目录,挂载成功后,通过该目录就能访问远端共享里的所有文件和子目录

  • 前置条件

    • 目录必须存在:mkdir -p /home/qwt/nas
    • 当前用户(或 Nginx、Apache 等进程,如有需要)要对该目录有读写/执行权限

完整示例

# 1. 创建挂载点mkdir -p /home/qwt/nas# 2. 执行挂载sudo mount -t cifs -o \\ username=qwt,password=qwt,iocharset=utf8,uid=1005,\\gid=1006,file_mode=0664,dir_mode=0775 \\ //59.xx.xx.xx/qwt /home/qwt/nas# 3. 验证mount | grep /home/qwt/nasls -l /home/qwt | grep nas

若要卸载,共执行:

sudo umount /home/qwt/nas

uid gid可以使用以下命令查询:

> id qwt输出:uid=1005(qwt) gid=1006(qwt) groups=1006(qwt),27(sudo)

【服务器】教程 — Linux上如何挂载服务器NAS_linux nas

测试是否成功连接并可读写

进入对应文件夹

cd /home/qwt/nas

尝试下载文件至nas

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

【服务器】教程 — Linux上如何挂载服务器NAS_linux nas
下载成功,说明连接成功

使用 df -h也可以看到挂载容量
【服务器】教程 — Linux上如何挂载服务器NAS_linux nas

参考文章

  1. Linux 挂载 nas 服务器实现方案与详细分步指南
  2. Linux 挂载nas盘