配置 Samba客户端
1.Windows 客户端访问 samba 共享
无论Samba共享服务是部署在Windows系统上,还是部署在Linux系统上,通过Windows系统进行访问时,其步骤和方法都是一样的。下面假设Samba共享服务部署在Linux系统上,并通过Windows系统来访问Samba服务。Samba 共享服务器和Windows客户端的IP地址可以根据表2来设置。
表2 Samba服务器和Windows客户端使用的操作系统以及IP地址
主机名称 | 操作系统 | IP 地址 |
Samba 共享服务器:RHEL 7-1 | RHEL 7 | 192.168.10.1 |
Windows 客户端:Win10-1 | Windows 10 | 192.168.10.30 |
(1)依次选择“开始”→“运行”命令,使用 UNC 路径直接进行访问,例如\\192.168.10.1。打开“Windows 安全”对话框,如图3所示。输入 salel 或 sale2及其密码,登录后可以正常访问。
图3“Windows安全”对话框
试一试:注销 Windows 10客户端,使用test_user 用户和密码登录会出现什么情况?
(2)映射网络驱动器访问Samba服务器共享目录。双击打开“计算机”,再依次选择“工具”→“映射网络驱动器”命令,在“映射网络驱动器”对话框中选择Z驱动器,并输入tech共享目录的地址,如\\192.168.1.30\sales。单击“完成”按钮,在接下来的对话框中输入可以访问sales共享目录的Samba 账号和密码。
(3)再次打开“计算机”,驱动器Z就是共享目录sales,就可以很方便地访问了。
2.Linux客户端访问 Samba 共享
Samba 服务程序当然还可以实现 Linux 系统之间的文件共享。请各位读者按照表3来设置Samba服务程序所在主机(即Samba共享服务器)和Linux客户端使用的IP地址,然后在客户端安装Samba服务和支持文件共享服务的软件包(cifs-utils)。
表3 Samba 共享服务器和Linux客户端各自使用的操作系统以及IP地址
主机名称 | 操作系统 | IP 地址 |
Samba 共享服务器:RHEL7-1 | RHEL7操作系统 | 192.168.10.1 |
Linux客户端:RHEL7-2 | RHEL7操作系统 | 192.168.10.20 |
(1)在RHEL7-2上安装samba-client和 cifs-utils。
[root@RHEL7-2 ~]# mkdir /iso
[root@RHEL7-2 ~]# mount /dev/cdrom /iso
mount: /dev/sro is write-protected, mounting read-only
[root@RHEL7-2 ~]# vim /etc/yum.repos.d/dvd.repo
# /etc/yum.repos.d/dvd.repo
# or for ONLY the media repo, do this:
# yum --disablerepo=\* --enablerepo=c6-media [command]
[dvd]
name=dvd
baseurl=file:///iso //特别注意本地源文件的表示,3个“/”
gpgcheck=0
enabled=1
[root@RHEL7-2 ~]# yum install samba-client -y
[root@RHEL7-2 ~]# yum install cifs-utils -y
- Linux 客户端使用smbclient命令访问服务器。
①smbclient可以列出目标主机共享目录列表。Smbclient的命令格式为:
smbclient -L 目标IP地址或主机名 -U 登录用户名%密码
当查看RHEL 7-1(192.168.10.1)主机的共享目录列表时,提示输入密码,这时候可以不输入密码,而直接按“Enter”键,这样表示匿名登录,然后就会显示匿名用户可以看到的共享目录列表。
[root@RHEL7-2 ~]# smbclient -L 192.168.10.1
若想使用 Samba 账号查看Samba 服务器端共享的目录,可以加上-U参数,后面跟上用户名%密码。下面的命令显示只有sale2账号(其密码为12345678)才有权限浏览和访问的sales共享目录:
[root@RHEL7-2~]# smbclient -L 192.168.10.1 -U sale2%12345678
注意:不同用户使用 smbclient 浏览的结果可能是不一样的,这要根据服务器设置的访问控制权限而定。
②还可以使用smbclient命令行共享访问模式浏览共享的资料。
smbclient 命令行共享访问模式命令格式:
smbclient //目标IP地址或主机名/共享目录 -U 用户名%密码
下面命令运行后,将进入交互式界面(键入“?”号可以查看具体命令)。
[root@RHEL7-2~]#smbclient //192.168.10.1/sales -U sale2%12345678
Domain=[RHEL7-1] OS=[Windows 10.1] Server=[Samba 4.6.2]
smb: \> 1s
. D 0 Sun Nov 13 14:20:18 2022
.. D 0 Sun Nov 13 16:55:22 2022
test_share.tar A 0 Sun Nov 13 16:56:07 2022
9754624 blocks of size 1024. 9647416 blocks available
smb:\> mkdir testdir //新建一个目录进行测试
smb:\> ls
. D 0 Sun Nov 13 14:21:50 2022
.. D 0 Sun Nov 13 16:55:22 2022
test_share.tar A 0 Sun Nov 13 16:56:07 2022
testdir A 0 Sun Nov 13 20:15:30 2022
9754624 blocks of size 1024. 9647416 blocks available
smb:\> exit
[root@RHEL7-2~]#
另外,smbclient 登录Samba服务器后,可以使用help查询所支持的命令。
(3)Linux客户端使用mount命令挂载共享目录。
mount命令挂载共享目录的格式为:
mount -t cifs //目标IP地址或主机名/共享目录名称 挂载点 -o username=用户名
下面的命令结果为挂载192.168.10.1主机上的共享目录sales到/mnt/sambadata目录下,cifs是samba 所使用的文件系统。
[root@RHEL7-2 ~]# mkdir -p /mnt/sambadata
[root@RHEL7-2 ~]# mount -t cifs //192.168.10.1/sales /mnt/sambadata/ -o username=sale1
Password for Sale1@//192.168.10.1/sales:********
//输入sale1的samba用户密码,不是系统用户密码[root@RHEL7-2 ~]# cd /mnt/sambadata
[root@RHEL7-2 sambadata]# ls
testdir test_share.tar