Linux 使用及配置 Samba 客户端访问Samba服务器


Samba 介绍

Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。

Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。

使用samba和windows共享文件时候,请确保windows的NetBIOS(就是网上邻居功能)开启了。

Linux下安装 smbclient

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

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

在Ubuntu和Debian系统中安装smbclient:

sudo apt install smbclient

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

sudo yum install samba-client

安装完成后,执行以下命令访问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: \>

将远程 Samba 共享路径挂载到本地目录

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

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

sudo apt install cifs-utils

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

sudo yum install cifs-utils

创建挂载点:

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)

错误相关解决方式可以参考:

  • https://blog.csdn.net/qq_21419995/article/details/80739052
  • https://qa.1r1g.cn/unix/ask/8447421/

验证

先看看挂载情况:

df -h

接下来查看文件:

ll /mnt/smbmount

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

实现开机自动挂载

先卸载刚刚挂载的目录:

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

现在应该就可以将远程 Samba 共享目录下的操作像完成本地磁盘一样进行操作了

猜你喜欢

转载自blog.csdn.net/qq_37596943/article/details/127343723