Linux系统挂载SMB共享


Linux系统挂载SMB共享


安装CIFS客户端

操作系统 说明

Ubuntu

通过apt-get软件包管理工具进行安装。
sudo apt-get update

sudo 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.配置SELINUX。

    sed -i 's/SELINUXTYPE=mcs/SELINUXTYPE=targeted/' /etc/selinux/config

b.在CoreOS操作系统上手动编译CIFS客户端工具。

    您可以参照以下步骤启动一个Fedora容器用以编译CIFS客户端工具。或下载阿里云官方提供的名CoreOS版本的CIFS工具包,并拷贝至/tmp/或者/bin目录。

    i.在CoreOS上启动一个Fedora容器自行编译cifs-utils。

      docker run -t -i -v /tmp:/cifs fedora /bin/bash

    ii.在docker环境内依次运行以下命令。

      1.yum groupinstall -y "Development Tools" "Development Libraries"

      2.yum install -y bzip2

      3.curl https://download.samba.org/pub/linux-cifs/cifs-utils/cifs-utils-6.9.tar.bz2 --output cifs-utils-6.9.tar.bz2;

      4.bunzip2 cifs-utils-6.9.tar.bz2 && tar xvf cifs-utils-6.9.tar

      5.cd cifs-utils-6.9; ./configure && make

      6.cp mount.cifs /cifs/

      7.exit

挂载SMB协议文件系统

1. 手动挂载文件系统

  1. 使用SSH连接VPS(Linux)
  2. 执行以下命令,挂载文件系统。
  3. 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控制台,单击目标文件系统,然后单击挂载使用,将鼠标放置在挂载点地址列的挂载点图标上获取挂载点地址。
    shareSMB文件系统的共享目录名称,不支持变更。
    挂载目录你要挂载的目标路径,例如:/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方式挂载。
  4. 执行mount -l命令,查看挂载结果。
    挂载成功后,您可以执行df -h.命令,查看当前文件系统的容量信息。

2. (可选)自动挂载文件系统

  1. 编辑/etc/fstab文件,添加类似下面的一行:

  2. 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不应在启动时运行。
  3. 这里需要创建一个包含用户名和密码的文件
  4. /home/USERNAME/.smbcredentials
    文件内容例:

    1
    2
    username=USERNAME
    password=PASSWORD
  5. 设置文件权限:
  6. 1
    chmod 600 /home/USERNAME/.smbcredentials
  7. 执行reboot命令,重启服务器,验证自动挂载配置成功。

文章作者: 旧故草木
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 旧故草木 !
  目录