- 🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)
- 🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd
- 🌐系列专栏:Linux技术
- 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家三连支持一下呀!!! 👉关注✨、点赞👍、收藏📂、评论。
- 如需转载请参考转载须知!!
【Linux】【操作】如何在Linux主机中访问samba
概述
- Linux环境下,访问samba有两种方式:
– smbclient命令访问;
– 挂载文件系统; - 在Linux系统中挂载SMB协议文件系统时,则需要在该系统下安装支持文件共享服务的软件包——cifs客户端(cifs-utils)。
操作方式
安装samba-client及cifs-utils
sudo yum install smbclient
sudo yum install cifs-utils
通过smbclient命令确认是否可正常访问
- 列出某个IP地址所提供的共享文件夹:
sudo smbclient -L 192.168.1.101 -U qxhgd
sudo smbclient -L 192.168.1.101 -U qxhgd%qxhgd-pwd
访问smb服务器文件
方法1、使用smbclient命令动态访问smb服务器
- 交互式访问:通过smbclient命令访问服务器,之后会进入smb:/>提示符:
smbclient //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
– 进入提示符之后,则可通过cd 、lcd、get、megt、put、mput等命令,以交互的方式访问smb服务器了。使用过ftp软件的人应该对比并不陌生了。
- 自动访问:如果将 -c 参数传给 smbclient,那么你可对远程 SMB 共享自动执行命令。这可让您在脚本中使用 smbclient:
– 如
smbclient -c "ls" //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
等价于:
smbclient //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
smb:/>ls
而
smbclient -c "mkdir tmp" //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
则等价于:
smbclient //192.168.1.101/qxhgd -U qxhgd%qxhgd-pwd
smb:/>mkdir tmp
– 脚本中使用的例子:
smbclient -U qxhgd%qxhgd-pwd //192.168.1.101/qxhgd -c "cd /tmp/ ; get tmp.txt ; exit"
方法2、挂载服务器共享目录
单次挂载
- 这种方法比较常用,将smb服务器共享的目录挂载到本地文件系统中。之后,可像访问本地一样访问samba服务器了:
sudo su
mkdir /mnt/101-smb
mount -t cifs //192.168.1.101/qxhgd/ /mnt/101-smb -o username=qxhgd,vers=1.0
– 这里的vers 1.0表示支持的smb协议版本,需要根据实际情况做调整。此命令后,还可增加其他参数。
- Linux kernel2.6.29之后,smbfs被从内核中取消,而被cifs所代替。
多次挂载
- 利用rc.local文件:
echo "mount -t cifs //192.168.1.101/qxhgd/ /mnt/101-smb -o username=qxhgd,password='your password,vers=1.0,'" >> /etc/rc.local
- 利用fstab:
– vim /etc/fstab,增加如下一行:
//192.168.1.101/qxhgd /mnt/101-smb cifs defaults,username='qxhgd',password='your password' 0 0
– 挂载:
mount -a
- 查看挂载情况:
df -Th
方法3、利用scp
scp qxhgd@10.10.10.10:/home/qxhgd/log.txt ./home/qxhgd #交互式
sshpass -p "Mima=qxhgd" scp qxhgd@10.10.10.10:/home/qxhgd/log.txt ./home/qxhgd #非交互式
如本文对你有些许帮助,欢迎大佬加关注、评论、点赞,有关必回关