1. 前言

本文主要讲解如何在Linux系统上访问Windows共享文件夹,即Windows为共享服务器,Linux为客户端,客户端读取服务器的目录。以CentOS系统为例,使用samba-client客户端,其他Linux发行版的配置大同小异,同样可以作为参考标准。

如果是反过来,即Linux为共享服务器,Windows系统读取Linux的共享文件夹,即Windows系统为客户端,请跳转到本站这篇文章。




centos 与主机共享目录 centos共享文件夹目录_centos 查看文件夹大小


Linux与Windows怎样共享文件夹

2. 安装samba命令行客户端

默认情况,绝大部分的Linux发行版并没有集成samba客户端,需要额外安装。

CentOS安装samba命令行客户端

[root@centos7 ~]# yum -y install samba-client

ubuntu安装samba命令行客户端

ocr@zcwyou:~# sudo apt install -y smbclient

看到下图表示安装成功:


centos 与主机共享目录 centos共享文件夹目录_centos 与主机共享目录_02


安装samba命令行客户端


centos 与主机共享目录 centos共享文件夹目录_centos8共享文件夹挂载_03


3. 使用samba命令行客户端测试连接

假设用户名为user01,远程服务器IP为172.16.87.137

[root@centos6 ~]# smbclient -L 172.16.87.137 -U user01

按提示输入密码:

Enter user01's password:

输入正确密码后,可以看到共享的信息

#
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.8.3]
Sharename Type Comment
print


centos 与主机共享目录 centos共享文件夹目录_centos8共享文件夹挂载_04


IPC IPC Service (Samba 4.8.3)
xingzheng Disk Home Directories
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.8.3]
Server Comment
CENTOS7 Samba 4.8.3
Workgroup Master
SAMBA CENTOS7
#

以上输出信息表示共享目录连接测试成功, 密码正确。

4. 准备好本地的挂载点

[root@centos6 ~]# mkdir -p /mnt/samba/xingzheng


centos 与主机共享目录 centos共享文件夹目录_centos 与主机共享目录_05


5. 临时连接共享服务器

本实例使用的用户名为user01,密码为password123,共享目录路径为//172.16.87.137/xingzheng,本地挂载目录为/mnt/samba/xingzheng

[root@centos6 ~]# mount -t cifs -o user=user01,password=password123 //172.16.87.137/xingzheng /mnt/samba/xingzheng

如果没有任何提示表示连接正常。

检查挂载点目录的文件:

[root@centos6 ~]# ll /mnt/samba/xingzheng/

以下是执行结果:

总用量 0

-rwxr-xr-x. 1 root root 0 12月 22 22:25 001.txt

6. 向远程共享服务器写入文件

尝试创建一个文件,createbysmbclient.txt

[root@centos6 ~]# touch /mnt/samba/xingzheng/createbysmbclient.txt

应该不会有提示,没有报错

验证:

[root@centos6 ~]# ll /mnt/samba/xingzheng/

可以看到目录里确实有一个createbysmbclient.txt文件。

-rwxr-xr-x. 1 root root 0 12月 22 22:25 001.txt

-rwxr-xr-x. 1 root root 0 12月 24 00:39 createbysmbclient.txt

登录到共享服务器(可能是一台Linux,也可能是一台Windows系统)查看是否已经存在一个createbysmbclient.txt文件。

7. 卸载文件系统

当不再使用时,可以考虑卸载远程文件系统

[root@centos6 ~]# umount /mnt/samba/xingzheng/

8. 开机自动挂载远程共享

[root@centos6 ~]# vi /etc/fstab

在配置文件最后加入以下内容,用于下次开机自动挂载目录。

//172.16.87.137/xingzheng /mnt/samba/xingzheng/ cifs username=user01,password=password123,soft,rw 0 0


centos 与主机共享目录 centos共享文件夹目录_centos6配置mysql远程访问_06


开机自动挂载远程共享目录

以上配置是下次开机时自动读取。

如果要马上生效,使用以下命令马上重新加载/etc/fstab配置文件。

[root@centos6 ~]# mount -a