使用Samba远程挂载Windows共享目录

本文将指导如何通过Samba挂载Windows远程目录实现在CentOS下访问Windows共享文件。

前提条件

CentOS:192.168.1.101
Windows:192.168.1.102
Windows共享目录: S盘

首先安装Samba客户端

yum install -y samba-client

安装完成后,可以用smbclient -L命令查看Windows目录共享情况

smbclient -L //192.168.1.102 -U Administrator
Enter Administrator's password:
Domain=[HYPER-V] OS=[Windows Server 2016 Datacenter 14393] Server=[Windows Server 2016 Datacenter 6.3]

        Sharename       Type      Comment
        ---------       ----      -------
        ADMIN$          Disk      远程管理
        C$              Disk      默认共享
        D$              Disk      默认共享
        IPC$            IPC       远程 IPC
        S$              Disk      默认共享
        T$              Disk      默认共享
Connection to 192.168.1.102 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available

这里可以看到我将要共享的磁盘<S:>

接下来创建共享目录

mkdir -p /mnt/share

将远程目录mount到/mnt/share目录上

mount -t cifs -o username="Administrator",password="WIN_PASSWD" //192.168.1.102/S$ /mnt/share/

解释一下上述命令

mount: 挂载命令
-t cifs: 挂载文件格式为cifs(Common Internet File System),通用Internet文件系统
-o username,password: option选项,填写Windows用户名和密码
//192.168.1.102/S$: 远程共享目录//IP/DISK$
/mnt/share: 本地目录

挂载完成后即可直接访问该远程目录了。如果需要断开挂载,只需执行:

umont /mnt/share

挂载的Windows共享文件夹在Linux重启之后就会消失的,如果还要使用,是需要重新挂载的。
如果希望Linux开机自动挂载Windows共享文件夹,则需要将挂载命令添加到Linux的/etc/fstab,也就是将前述的命令参数按照fstab的要求添加到fstab里面。

What‘s More…

可以通过使用Apache达到用浏览器访问此目录的效果。这里给出一个参考配置文件。

<VirtualHost *:80>

    DocumentRoot /mnt/share/CONTENTS/

    <Directory /mnt/share/CONTENTS/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/error.log
    CustomLog /var/log/httpd/access.log combined

</VirtualHost>

如果遇到403错误,请确认是否关闭Selinux。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注