Linux系统挂载SMB共享
安装CIFS客户端
操作系统 | 说明 |
---|---|
Ubuntu |
通过apt-get软件包管理工具进行安装。sudo apt-get update |
Debian |
RHEL | 通过yum包管理器进行安装。sudo yum install cifs-utils |
CentOS |
Alibaba Cloud Linux | |
OpenSUSE | 通过zypper工具进行安装。sudo zypper install cifs-utils | SLES12-SP2 |
CoreOS | 通过以下方法进行安装:a.配置SELINUX。
b.在CoreOS操作系统上手动编译CIFS客户端工具。 您可以参照以下步骤启动一个Fedora容器用以编译CIFS客户端工具。或下载阿里云官方提供的名CoreOS版本的CIFS工具包,并拷贝至/tmp/或者/bin目录。 i.在CoreOS上启动一个Fedora容器自行编译cifs-utils。
ii.在docker环境内依次运行以下命令。1. 2. 3. 4. 5. 6. 7. |
挂载SMB协议文件系统
1. 手动挂载文件系统
- 使用SSH连接VPS(Linux)
- 执行以下命令,挂载文件系统。
- vers:支持2.0及以上协议版本。
- guest:只支持基于ntlm认证协议的客户端挂载。
- rsize:用来设置读数据包的最大限制。一般需要设置成1048576(1 MB)。
- wsize:用来设置写数据包的最大限制,一般需要设置成1048576(1 MB)。
- uid:挂载成功后,文件所属的用户。如果未设置uid,则默认uid=0。
- gid:挂载成功后,文件所属的用户组。如果未设置gid,则默认gid=0。
- dir_mode:向用户授予指定目录的读取、写入和执行权限。必须以0开头,例如:0755、0644等。如果未设置dir_mode,则默认dir_mode=0755。
- file_mode:向用户授予普通文件的读取、写入和执行权限。必须以0开头,例如:0755、0644等。如果未设置file_mode,则默认file_mode=0755。
- mfsymlinks:支持symbol link功能。
- cache:
- cache=strict:设置SMB文件系统使用客户端缓存。如果未设置cache,则默认cache=strict。
- cache=none:设置SMB文件系统不使用客户端缓存。
- atime|relatime:如果您的业务对文件的访问时间非极度敏感,请勿使用atime选项,默认采用relatime方式挂载。
- 执行
mount -l
命令,查看挂载结果。
挂载成功后,您可以执行df -h
.命令,查看当前文件系统的容量信息。
1 | sudo mount -t cifs //SERVER/SHARE /mnt -o vers=2.0,username=USERNAME,password=PASSWORD,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict |
挂载命令格式为: sudo mount -t cifs //<挂载点地址>/share <挂载目录> -o <挂载选项>
参数 | 说明 |
---|---|
文件系统类型 | 在Linux操作系统中挂载SMB协议文件系统,必须配置-t cifs参数。 |
挂载点地址 | 添加文件系统挂载点时,自动生成的挂载点地址,请根据实际值替换。您可以在NAS控制台,单击目标文件系统,然后单击挂载使用,将鼠标放置在挂载点地址列的挂载点图标上获取挂载点地址。 |
share | SMB文件系统的共享目录名称,不支持变更。 |
挂载目录 | 你要挂载的目标路径,例如:/mnt/sharepath。 |
挂载选项 |
通过添加-o参数指定挂载必选选项:通过添加-o参数指定挂载可选选项: |
2. (可选)自动挂载文件系统
-
编辑
/etc/fstab
文件,添加类似下面的一行: - 这里需要创建一个包含用户名和密码的文件
- 设置文件权限:
- 执行
reboot
命令,重启服务器,验证自动挂载配置成功。
1 | //SERVER/SHARE /mnt/mount_point cifs vers=3,credentials=/home/USERNAME/.smbcredentials,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict 0 0 |
参数 | 说明 |
---|---|
0(wsize值后第一项) | 非零值表示文件系统应由dump备份。对于NAS文件系统而言,此值默认为0。 |
0(wsize值后第二项) | 该值表示fsck在启动时检查文件系统的顺序。对于NAS文件系统而言,此值默认为0,表示fsck不应在启动时运行。 |
/home/USERNAME/.smbcredentials
文件内容例:
1 | username=USERNAME |
1 | chmod 600 /home/USERNAME/.smbcredentials |