Linux系统挂载SMB共享
把SMB共享存储挂载到无桌面的linux系统
安装CIFS客户端
| 操作系统 | 说明 |
|---|---|
| Ubuntu | 通过apt-get软件包管理工具进行安装。sudo apt-get updatesudo apt-get install cifs-utils |
| Debian | |
| RHEL | 通过yum包管理器进行安装。sudo yum install cifs-utils |
| CentOS | |
| Alibaba Cloud Linux | |
| OpenSUSE | 通过zypper工具进行安装。sudo zypper install cifs-utils |
| SLES12-SP2 | |
| CoreOS |
通过以下方法进行安装:
a.配置SELINUXsed -i 's/SELINUXTYPE=mcs/SELINUXTYPE=targeted/' /etc/selinux/configb.在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)
-
执行以下命令,挂载文件系统。
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参数指定挂载必选选项:
- vers:支持2.0及以上协议版本。
- guest:只支持基于ntlm认证协议的客户端挂载。
- rsize:用来设置读数据包的最大限制。一般需要设置成1048576(1 MB)。
- wsize:用来设置写数据包的最大限制,一般需要设置成1048576(1 MB)。
通过添加-o参数指定挂载可选选项:
- 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命令,查看当前文件系统的容量信息。
2. (可选)自动挂载文件系统
-
编辑
/etc/fstab文件,添加类似下面的一行://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文件内容示例:username=USERNAME password=PASSWORD -
设置文件权限:
chmod 600 /home/USERNAME/.smbcredentials -
执行
reboot命令,重启服务器,验证自动挂载配置成功。
评论 0