Linux 挂载 CIFS/SMB 共享目录
October 8, 2024About 1 min
Linux 挂载 CIFS/SMB 共享目录
把 Windows 共享盘或 NAS 上的 SMB 共享挂到 Linux 上,用的是 cifs-utils 提供的 mount -t cifs。Rocky/CentOS 和 Ubuntu 只是装包命令不同,挂载参数一致。
挂之前确认几件事:
- 这台 Linux 在网络上能访问到共享盘(防火墙/VLAN 别挡着)。
- 有一个能正常访问该共享的账户,并且对路径有读写权限。
- 共享路径(UNC)和挂载账户都准备好。
安装 cifs-utils
# Rocky / CentOS
sudo yum install -y cifs-utils
# Ubuntu / Debian
sudo apt install cifs-utils
挂载
mkdir /mnt/nas
sudo mount -t cifs \
-o domain=example.com,username=<User>,password='<Password>',uid=$(id -u),gid=$(id -g),file_mode=0777,dir_mode=0777 \
//10.0.0.10/<share> /mnt/nas
参数说明:
domain=域账户所属的域,工作组环境可省略。username/password访问共享的账户。密码里有特殊字符记得用单引号包起来。uid/gid把挂载后的文件归属设成当前用户,否则默认 root,普通用户写不进去。file_mode/dir_mode设置挂载后文件/目录的权限位。//10.0.0.10/<share>是共享的 UNC 路径,IP 或主机名都行。
挂载报错时,看内核日志最直接:
dmesg | tail
常见报 mount error(13): Permission denied(账户/密码或权限不对)、mount error(112): Host is down(多半是 SMB 协议版本不匹配,加 vers=2.0 或 vers=3.0 再试)。
把密码写在命令行不安全,长期挂载建议用 credentials 文件:-o credentials=/etc/cifs-cred,文件里写 username=、password=、domain= 三行,权限设 600,再写进 /etc/fstab 实现开机自动挂载。