samba远程访问
在Linux系统中访问Samba服务器中的共享目录需要使用smbclient命令,当然首先得在对应Linux系统主机中安装Samba服务的客户端软件--smbclient。使用smbclient -L命令(有关smbclient命令的详细选项可通过smbclient -help命令查看)可以查看指定Samba服务器上的所有共享目录。如要浏览本示例中Sambaserver上的共享目录,可以在终端提示符下输入以下命令:
smbclient -L Sambaserver
在出现提示输入密码时,直接按Enter键(因为此处是匿名访问),结果会显示指定Samba服务器上当前全部的共享目录,
使用共享目录的命令格式为:smbclient //IP地址或主机名/共享目录名 -U用户名。
因为此处是匿名访问,所以无须加上"-U"选项来指定访问的用户名。如在此要匿名访问Sambaserver上的doc目录,则可以在终端提示符下输入以下命令:
smbclient //Sambaserver/doc
在出现输入密码的password提示符时,直接按Enter键,即进入到远程使用服务器上指定资源的提示符smb:\>,与ftp客户端相似,这时可以使用如cd、cat、get等命令对共享目录和文件进行操作了。注意,这个命令不仅可以访问Samba服务器上的共享资源,还可以访问网络中Windows主机上的共享资源。
㈡ Linux实用工具-samba
Samba服务可以用于在linux主机之间共享文件,也可以在linux和windows之间共享文件。
给Windows客户提供文件服务是通过samba实现的,而samba也是一套基于UNIX类系统、实现SMB/CIFS协议的软件,作为UNIX的克隆,Linux也可以运行这套软件。samba的文件服务功能效率很高,借助Linux本身,可以实现用户磁盘空间限制功能。本文基于Linux介绍Samba的配置和使用。
主要内容:
一、关于配置文件
二、关于配置和使用
三、其它
samba通过配置文件来进行各种控制,关于配置文件,下面给出一个大致的介绍。
samba的最重要配置文件就是"/etc/samba/smb.conf",它有三个重要的节:[global],[homes],[public]。一般来说本地的这个文件中都有对其内容的详细注释,这里列出一个完整的配置文件内容,并解释如下。具体信息参见"man smb.conf"的输出。
用于用户映射的文件/etc/samba/smbuser内容大致如下:
乱码情况:
为了防止共享时出现中文目录乱码的情况,可能需要为smb.conf的[global]段添加如下几行:
这里,其中根据你的local,UTF-8 有可能需要改成 cp936。
这里介绍如何配置samba服务以及使用它,为便于查阅,先给出一个最简的配置方式,后面会给出关于配置和使用相对具体的内容。 以下内容,都是在CentOS release 5.5 (Final)上面实践的结果,并假定配置samba的机器ip地址是10.1.2.213。
这里,如果只是想要搭建一个可以工作的samba服务器,那么可以按照如下步骤配置:
这样,我们可以看到机器上面已经安装了samba,可以进行后面的配置了。如果你的机器上面没有相应的软件包,那么需要使用"yum install samba.i386"之类的命令安装,默认来说系统都将这个服务安装了的。
编辑之后的文件内容如下:
这里需要注意,不要将mysamba目录设置到 /home 下的某个子用户目录中,这样会导致目录无法通过其他的机器访问到。
这样,外部就可以访问这个目录了。注意首先在本地机器上将这个目录的读写权限打开,这样外面才能访问。
这样刚才的配置可以生效。
在文件浏览器的位置栏输入: smb://10.1.2.213
这样,将看到一个目录"public1"就是那个smb.conf中设置的"[public1]"组名,进入"public1"就可以看到内容了,内容实际就是服务器上面的/home/mysamba路径下面的内容。
在文件浏览器的位置栏输入: \\10.1.2.213
这样,将看到一个目录"public1"就是那个smb.conf中设置的"[public1]"组名,进入"public1"就可以看到内容了,内容实际就是服务器上面的/home/mysamba路径下面的内容。
总之两步,一个是修改"/etc/samba/smb.conf"设置共享目录,一个是运行"/etc/init.d/smb restart"让设置生效。
配置samba可以控制哪些目录可以访问,以及谁可以访问,以什么权限访问等等。我们可以使用图形化的工具配置,方法是运行"#system-config-samba"命令或者通过菜单"系统-系统管理-Samba",方法很简单就不多说了。还可以通过修改配置文件进行配置,这里重点介绍修改配置文件的方法,如下。
修改配置文件如下:
这里,workgroup表示工作组名;server string表示服务器名(名称自定);netbios name是对服务器的描述;hosts allow填入顺序访问的ip段,用空格分开,如果不设置则使用[global]中的,如果[global]中也没有,就表示允许任何ip访问;security表示访问权限,访问权限由低到高有三种:share、user和server。其中share安全级别最低,user模式要求连接时输入用户名和口令。具体支持的字段,以及每个字段的含义在配置文件的注释中都有详细的说明,或者可以查看"man smb.conf"文档说明。
以上配置可知,设置了个共享目录:public1,public2,public3,且public3共享目录只有quietheart和lv-k用户可以访问。
配置之后,重新启动samba:
这样刚才的配置可以生效。
这里,添加帐号和修改密码都用这个smbpasswd命令。如果想要添加samba的网络访问帐户,首先必须保证系统中有相应的帐户名称,如果没有则需要使用"#useradd quietheart"建立一个,否则使用这个smbpasswd添加用户的时候,会出错误。 要注意,虽然samba的用户必须是本地机器的用户,但是samba的登录密码可以和本机登录密码可以不一样,上面只是为系统增加了quietheart这个用户,却没有给用户赋予本机登录密码,因为我们只用这个用户来远程samba访问,不想用它来做为一个本地登陆帐号,所以这个用户将只能从远程经过samba访问,不能从远程登录本机。
这个功能没太大必要,因为samba中的帐户,一定就是系统中的某个帐户,虽然密码不一样,所以可以查看/etc/passwd来得知所有系统帐号进而知道samba可能包含的用户帐号。
这里,删除命令就是将前面添加命令的-a改成-x了。
通过smbclient工具,可以实现在命令行下访问samba的目的,使用smbclient登陆samba之后,可以像ftp服务那样进行各种命令操作。
参考资料:
㈢ 如何使用浏览器远程访问linux服务器文件夹
一般是通过以下几种方式:
1、设置FTP服务器
2、NFS服务器
3、SAMBA服务器
FTP和NFS都比较简单,下面介绍一下SAMBA的配置方法:
Linux系统默认已经安装了Samba,但是没有安装Samba服务:
1,先查看安装情况:rpm -qa|grep samba
根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包。
我的安装情况是:
使用命令:mount /dev/cdrom1 /mnt/cdrom1
通过mount把cdrom1挂载到系统临时目录/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh samba.*.rpm包安装。
切换到放置rpm文件的目录
[root@smb_server root]# rpm -ivh samba-common-3.6.9-151.el6.x86_64
这是Samba 必备的程序,必须安装
[root@smb_server root]# rpm -ivh samba-3.6.9-151.el6.x86_64
安装Samba 服务器程序,可以使我Windows 主机访问Samba 服务器共享的资源。
如果需要使Linux 主机访问Windows 主机上的共享资源,则还应该安装Samba 客户端程序。
[root@smb_server root]# rpm -ivh samba-client-3.6.9-151.el6.x86_64
2,安装samba的rpm包完成后
samba-common-3.6.9-151.el6.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.6.9-151.el6.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.6.9-151.el6.x86_64 //基于https协议的samba服务器web配置界面
samba-3.6.9-151.el6.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。
5、查看samba的服务启动情况
# service smb status
6、设置开机自启动
# chkconfig --level 35 smb on //在3、5级别上自动运行samba服务
7、配置smb服务
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = ImgPath05
[ImgPath]
comment = Public stuff
path = /usr/local/nginx/html/img
public = yes
writeable = yes
browseable = yes
guest ok = yes
共享目录为:/usr/local/nginx/html/img,共享目录对外名称为:ImgPath 即在Windows看到的目录名称。
设置共享目录权限:chown -R nobody:nobody /usr/local/nginx/html/img/
8、启动或者重启smb服务
重启smb服务
测试smb.conf配置是否正确
9 Windows访问共享目录,但是没有写权限,通过以下方式修改防火墙设置。
将Linux smb服务添加到防火墙的例外中 以root用户执行setup命令#setup弹出...重启生效,如果不想重启,用命令#setenforce 0
㈣ 怎样在Linux上访问samba共享文件
1、点击桌面左下角的文件资源管理器图标。
㈤ 连接samba服务器时显示远程计算机不接受连接怎么办
开放NetBiOS服务(137端口)
端口说明:137端口主要用于“NetBIOS Name Service”(NetBIOS名称服务),属于 UDP端口,使用者只需要向局域网或互联网上的某台计算机的137端口发送一个请求,就可以获取该计算机的名称、注册用户名,以及是否安装主域控制器、 IIS是否正在运行等信息。
端口漏洞:因为是UDP端口,对于攻击者来说,通过发送请求很容易就获取目标计算机的相关信息,有些信息是直接可以被利用,并分析漏洞的,比如IIS服务。另外,通过捕获正在利用137端口进行通信的信息包,还可能得到目标计算机的启动和关闭的时间,这样就可以利用专门的工具来攻击。
操作建议:建议关闭该端口。
具体而言,就是说通过137端口除了该机的计算机名和注册用户名以外,还可以得到该机是否为主域控制器和主浏览器、是否作为文件服务器使用、IIS和Samba是否正在运行以及Lotus Notes是否正在运行等信息。也就是说,只要您想获得这些信息,只需向这台个人电脑的137端口发送一个请求即可。只要知道IP地址,就可以轻松做到这一点。不只是公司内部网络,还可以通过因特网得到这样的信息。
137端口为什么会把这种信息包泄漏到网络上呢?这是因为,在Windows网络通信协议 --“NetBIOS over TCP/IP(NBT)”的计算机名管理功能中使用的是137端口。
计算机名管理是指Windows网络中的电脑通过用于相互识别的名字 --NetBIOS名,获取实际的IP地址的功能。可以用两种方法使用137端口。
一种方法是,位于同一组中的电脑之间利用广播功能进行计算机名管理。电脑在起动时或者连接网络时,会向位于同组中的所有电脑询问有没有正在使用与自己相同的NetBIOS名的电脑。每台收到询问的电脑如果使用了与自己相同的NetBIOS名,就会发送通知信息包。这些通信是利用137端口进行的。
另一种方法是利用WINS(Windows因特网名称服务)管理计算机名。被称为WINS服务器的电脑有一个IP地址和NetBIOS名的对照表。 WINS客户端在系统起动时或连接网络时会将自己的NetBIOS名与IP地址发送给WINS服务器。与其他计算机通信时,会向WINS服务器发送 NetBIOS名,询问IP地址。这种方法也使用137端口。
如上所述,为了得到通信对象的IP地址,137端口就要交换很多信息包。在这些信息包中,包括有如表3所示的很多信息。利用广播管理计算机名时,会向所有电脑发送这些信息。如果使用NBT,就会在用户没有查觉的情况下,由电脑本身就会向外部散布自己的详细信息。
什么是NetBIOS及NetBIOS的作用与应用
英文原义:NetBIOS Services Protocols
中文释义:(RFC-1001,1002)网络基本输入/输出系统协议
注解:该协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能,系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,实现信息通讯,所以在局域网内部使用 NetBIOS协议可以方便地实现消息通信及资源的共享。因为它占用系统资源少、传输效率高,尤为适于由 20 到 200 台计算机组成的小型局域网。所以几乎所有的局域网都是在NetBIOS协议的基础上工作的。
应 用:在Windows操作系统中,默认情况下在安装TCP/IP协议后会自动安装NetBIOS。比如在Windows 2000/XP中,当选择“自动获得IP”后会启用DHCP服务器,从该服务器使用NetBIOS设置;如果使用静态IP地址或DHCP服务器不提供 NetBIOS设置,则启用TCP/IP上的NetBIOS。具体的设置方法如下:首先打开“控制面板”,双击“网络连接”图标,打开本地连接属性。接着,在属性窗口的“常规”选项卡中选择“Internet协议(TCP/IP)”,单击“属性”按钮。然后在打开的窗口中,单击“高级”按钮;在“高级 TCP/IP设置”窗口中选择“WINS”选项卡,在“NetBIOS设置”区域中就可以相应的NetBIOS设置。
因NETBIOS给用户带来的潜在危害
当安装TCP/IP协 议时,NetBIOS 也被Windows作为默认设置载入,我们的计算机也具有了NetBIOS本身的开放性。某些别有用心的人就利用这个功能来攻击服务器,使管理员不能放心使用文件和打印机共享。
利用NETBIOS漏洞进行攻击的端口分别为:
135端口开放实际上是一个WINNT漏洞,开放的135的端口情况容易引起自外部的 “Snork”攻击!!!
对于135端口开放的问题,可以在你的防火墙上,增加一条规则:拒绝所有的这类进入的UDP 包,目的端口是135,源端口是7,19,或者135,这样可以保护内部的系统,防止来自外部的攻击。大多数防火墙或者包过滤器已经设置了很多严格的规则,已覆盖了这条过滤规则,但任需注意:有一些NT的应用程序,它们依靠UDP135端口进行合法的通讯,而打开你135的端口与NT的RPC服务进行通讯。如果真是这样,你一定要在那些原始地址的系统上(需要135口通讯),实施上述的规则,指定来自这些系统的通讯可以通过防火墙,或者,可以被攻击检测系统所忽略,以便维持那些应用程序的正常连接。为了保护你的信息安全,强烈建议你安装微软的最新补丁包。
上面我们说到Netbios(NETwork Basic Input/Output System)网络基本输入输出系统。是1983年IBM开发的一套网络标准,微软在这基础上继续开发。微软的客户机/服务器网络系统都是基于 NetBIOS的。在利用Windows NT4.0 构建的网络系统中,对每一台主机的唯一标识信息是它的NetBIOS名。系统可以利用WINS服务、广播及Lmhost文件等多种模式通过139端口将 NetBIOS名解析为相应IP地址,从而实现信息通讯。在这样的网络系统内部,利用NetBIOS名实现信息通讯是非常方便、快捷的。但是在 Internet上,它就和一个后门程序差不多了。因此,我们很有必要堵上这个可怕的漏洞。
——利用NetBIOS漏洞攻击
1.利用软件查找共享资源
利用NetBrute Scanner 软件扫描一段IP地址(如10.0.13.1~10.0.13.254)内的共享资源,就会扫描出默认共享
2. 用PQwak破解共享密码
双击扫描到的共享文件夹,如果没有密码,便可直接打开。当然也可以在IE的地址栏直接输入扫描到的带上共享文件夹的IP地址,如“\\10.0.13.191”(或带C$,D$等查看默认共享)。如果设有共享密码,会要求输入共享用户名和密码,这时可利用破解网络邻居密码的工具软件,如PQwak,破解后即可进入相应文件夹。
——关闭NetBIOS漏洞
1. 解开文件和打印机共享绑定
鼠标右击桌面上[网络邻居]→[属性] →[本地连接] →[属性],去掉“Microsoft网络的文件和打印机共享”前面的勾,解开文件和打印机共享绑定。这样就会禁止所有从139和445端口来的请求,别人也就看不到本机的共享了。
2. 利用TCP/IP筛选
鼠标右击桌面上[网络邻居] →[属性]→[本地连接] →[属性],打开“本地连接属性”对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[选项], 在列表中单击选中“TCP/IP筛选”选项。单击[属性]按钮,选择“只允许”,再单击[添加]按钮(如图2),填入除了139和445之外要用到的端口。这样别人使用扫描器对139和445两个端口进行扫描时,将不会有任何回应。
3. 使用IPSec安全策略阻止对端口139和445的访问
选择[我的电脑]→[控制面板]→[管理工具]→[本地安全策略]→[IP安全策略,在本地机器],在这里定义一条阻止任何IP地址从TCP139和TCP445端口访问IP地址的IPSec安全策略规则,这样别人使用扫描器扫描时,本机的139 和445两个端口也不会给予任何回应。
4. 停止Server服务
选择[我的电脑]→[控制面板]→[管理工具]→[服务],进入服务管理器,关闭Server 服务。这样虽然不会关闭端口,但可以中止本机对其他机器的服务,当然也就中止了对其他机器的共享。但是关闭了该服务会导致很多相关的服务无法启动,如机器中如果有IIS服务,则不能采用这种方法。
5. 使用防火墙防范攻击
在防火墙中也可以设置阻止其他机器使用本机共享。如在“天网个人防火墙”中,选择一条空规则,设置数据包方向为“接收”,对方IP地址选“任何地址”,协议设定为“TCP”,本地端口设置为“139到139”,对方端口设置为“0到0”,设置标志位为“SYN”,动作设置为“拦截”,最后单击[确定]按钮,并在“自定义IP规则”列表中勾选此规则即可启动拦截139端口攻击了。
非局域网用户如何防范NETBIOS漏洞攻击
在windows9x下如果是个拨号用户。完全不需要登陆到 nt局域网络环境的话。只需要在控制面板→网络→删除microsoft网络用户,使用microsoft友好登陆就可以了。但是如果需要登陆到nt网络的话。那这一项就不能去处。因为nt网里需要使用netbios。
在windowsNT下可以取消netbios与TCP/IP协议的绑定。控制面板→网络 →Netbios接口→WINS客户(tcp/ip)→禁用。确定。重启。这样nt的计算机名和工作组名也隐藏了,不过会造成基于netbios的一些命令无法使用。如net等。
在windowsNT下你可以选中网络邻居→右键→本地连接→INTERNET协议(TCP/IP)→属性→高级→选项→TCP/IP筛选→在“只允许”中填入除了137,138,139只外的端口。如果在局域网中,会影响局域网的使用
在windowsXP下可以在控制面板上点击管理工具-本地安全策略,右击"IP安全策略, 在本地计算机"选择"管理IP筛选器表和筛选器操作",点添加,在对话框里填,随便写.只要你记得住.最好还是写"禁用135/139端口"比较看的懂. 点右边的添加->下一步->源地址为"任何地址"->目的地址"我的地址"->协仪为TCP->在到此端口里填135或 139就可以.