基于smb windows与linux共享

简介

SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。

用于局域网分享网络文件用,也可以打印。

samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。

kali安装

apt-get install samba

配置samba共享目录

mkdir /root/share 
sudo chmod 777 -R /root/share //赋予可读可写权限 
cd /etc/samba 
cp smb.conf smb.conf.bak 
leafpad smb.conf 
//然后在尾部加入 
[share]       
   path =/root/share       
   available = yes       
   browsealbe = yes       
   public= yes       
   writable = yes

参数说明:

(a)path:共享的目录

(b)browseable:是否允许在工作组里面(no:网上邻居看不到你的)

(c)public:公开的 public,因为匿名任何人都能访问,所以要yes

(d)writetable:可写

配置用户登录密码验证:

root@kali:~# smbpasswd -a root
 New SMB password: Retype new SMB password: 
root@kali:~# vi /etc/samba/smb.conf 

在/etc/samba/smb.conf末尾追加 

[share]          
  path=/root/share          
  writable=yes          
  public=yes          
  valid users=root 
  root@kali:~# service smbd restart

启动samba服务器

service smbd start 

service nmbd start 

Samba是一套程序,其中最重要的两个进程是nmbd和smbd:

smb:提供SMB / CIFS服务(文件共享和打印)的守护进程,使用SMB协议与客户进行连接,完成用户认证,权限管理和文件共享任务。

nmb:提供NetBIOS名称服务的守护进程,可以帮助客户端定位服务器和域,相当于WindowsNT中的WINS服务器,如果只是单纯的共享文件可以关闭这个服务,这样就不用在防火墙中开发137、138端口,但是在Windows中“桌面”上的“网络”里不会在显示共享的主机,只能通过“运行” 打开 \\IP 的方式连接到共享的目录。

windows下访问

我的kali的ip是 192.168.71.105

在windows运行中输入

\\192.168.71.105 //win+r快捷键

在文件夹中可以看见 Share

验证是否可读可写

在Share文件夹中新建一个 hello.txt,写入任意字符,如 hello, kali

进入kali,cd /root/Public

查看 hello.txt,显示 hello, kali

编辑 hello.txt,新加一行,如 hello, windows

windows 开启smb协议

1.进入控制面板,选择“网络和 INTERNET”后进入“网络和共享中心”,如下图,把活动

网络选择为“网络:工作网络”。

   2.选中左侧“更改高级共享设置”

   3.进入高级共享

设置并且选择该箭头展开详细设置项(切勿选择“公用”,设置将不会生效)。

   4.如下图进行设置,其中“6.”“7.”“9.” 项可以酌情设置,其余必须按所示设置。

步骤阅读

5.    5

5.设置完成,win7已经打开smb服务

linux连接windows smb

1,列出某个IP地址所提供的共享文件夹

smbclient -L 198.168.0.1 -U username -W domain //(会提示输密码)

smbclient -L 198.168.0.1 -U username%password -W domain

提示错误,可以用以下方法:

用-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

猜你喜欢

转载自blog.csdn.net/weixin_40943540/article/details/88760217
今日推荐