1. 前言

本文主要讲解如何在Linux系统上配置Samba客户端,访问Samba远程目录。

linux samba用户 linux samba客户端_ci

2. 安装smbclient

Linux用户可以从命令行访问samba共享,使用文件管理器或挂载samba共享。

smbclient是一个允许您从命令行访问Samba共享资源的工具。大绝大部分的Linux发行版中,smbclient软件包并不是预先安装的,所以需要在您的发行版软件包管理器中安装它。

2.1 在Ubuntu和Debian系统中安装smbclient

sudo apt install smbclient

2.2 在基于RHEL体系的发行版中安装smbclient

sudo yum install samba-client

linux samba用户 linux samba客户端_linux samba用户_02

安装完成后,执行以下命令访问Samba共享资源:

smbclient //samba_hostname_or_server_ip/share_name -U username

举例:现在我们需要使用zcwyou这个用户,访问服务器192.168.121.118上的共享目录share,执行如下命令:

smbclient //192.168.121.118/share -U zcwyou

按提示输入共享密码。

看到以下提示符,证明密码验证成功。

Try "help" to get a list of possible commands.
smb: \>

3. 把Samba共享挂载到本地目录

如果要把Samba共享挂载到本地目录,需要安装软件包cifs-utils

3.1 在Ubuntu和Debian系统中安装cifs-utils

sudo apt install cifs-utils

3.2 在基于RHEL体系的发行版中安装cifs-utils

sudo yum install cifs-utils

3.3 创建挂载点:

sudo mkdir /mnt/smbmount

挂载远程共享目录到本地目录/mnt/smbmount

sudo mount -t cifs //samba_hostname_or_server_ip/sharename /mnt/smbmount -o username=username,password=xxxx,vers=1.0

把远程服务器192.168.121.118上的共享目录share,用户名为zcwyou,挂载到本地目录/mnt/smbmount上:

sudo mount -t cifs //192.168.121.118/share /mnt/smbmount -o username=zcwyou,password=123123,vers=1.0

,检查是不是vers的问题

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

3.4 验证

先看看挂载情况:

df -h

接下来查看文件:

ll /mnt/smbmount

现在是否可以看到远程服务器共享目录上的文件?

4. 实现开机自动挂载

先卸载刚刚挂载的目录:

umount /mnt/smbmount

我们如何要实现开机自动挂载,需要修改配置文件/etc/fstab,假设服务器IP地址为192.168.121.118,共享目录名为share,本地目录为/mnt/smbmount,用户名为zcwyou,密码为123,在配置文件的最后一行添加以下内容:

//192.168.121.118/share /mnt/smbmount  cifs  username=zcwyou,password=123,soft,rw  0 0

测试挂载:

mount -a

验证:

看看挂载情况:

df -h

接下来查看文件:

ll /mnt/smbmount

现在是否可以看到远程服务器共享目录上的文件?

linux samba用户 linux samba客户端_samba_03

5. 总结

samba协议的通用性很强,支持Windows、MacOS、Linux操作系统。如果需要在多种操作系统中共享文件,samba协议是一个很好的解决办法。