LINUX 使用 smbclient 获取windows 共享目录的文件 详解

安装samba(sudo apt-get install samba) ,smbclient(sudo apt-get install smbclient)

网上的教程还说要装一个smbfs(sudo apt-get install smbfs)。但实际运行的时候会报这个报已经被取代。所以不装也没事。

然后配置samba配置文件
sudo gedit /etc/samba/smb.conf

要把workgroup=workgroup, 工作组要配对

首先用-L 命令查看远程服务器共享的目录:

 smbclient -L //192.168.1.108/ -U username%password 

 smbclient -L 192.168.1.108 -U username%password

上面的两条命令分别用了FTP的地址表达格式和IP地址的表达方式,在ubuntu13.04下亲测两种都行。

然后可以看到远程服务器上的共享目录都被列了出来:

Sharename       Type      Comment
---------       ----      -------
ADMIN$          Disk      远程管理
C$              Disk      默认共享
E$              Disk      默认共享
F$              Disk      默认共享
forshare        Disk      
IPC$            IPC       远程 IPC

此外,还会报错:

session request to 192.168.1.108 failed (Called name not present)
session request to 192 failed (Called name not present)
session request to *SMBSERVER failed (Called name not present)
NetBIOS over TCP disabled -- no workgroup available

不用管它。

然后就可以去访问具体的目录:

smbclient //192.168.1.108/directory -U username%password

然后进入smb的子shell:

smb: \> 

在其中可以用cd(进入目录),ls(罗列文件和文件夹),get(下载文件),put(上载文件) 等命令进行 相应操作。

注意:在哪一个目录下运行smbclient,smb就会把下载的文件放到该目录下,某些目录创建文件需要权限,要sudo smbclient //ip/dir -U username%psd

转载于:https://www.cnblogs.com/rav009/p/5131130.html

你可能感兴趣的:(操作系统,网络,shell)