Linux 使用及配置 Samba 客户端访问Samba服务器
Samba 介绍
Linux下安装 smbclient
在Ubuntu和Debian系统中安装smbclient:
在基于RHEL体系的发行版中安装smbclient:
将远程 Samba 共享路径挂载到本地目录
在Ubuntu和Debian系统中安装cifs-utils:
在基于RHEL体系的发行版中安装cifs-utils:
创建挂载点:
验证
实现开机自动挂载
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 共享目录下的操作像完成本地磁盘一样进行操作了