1.本篇文章要解决的问题
2.共享文件夹的一般过程
3.文件共享失败的原因以及解决办法
3.1 所在工作组不一样是否影响共享文件?
3.2 防火墙未正确设置
3.3 用户被禁用
3.3.1Guest用户被禁用
3.3.2其他用户被禁用的
3.4用户没有权限访问
3.5本地安全策略禁用
3.6网卡的文件和打印机共享未打开。
3.7系统使用了以前连接时缓存的账户访问
4.额外知识
4.1图1各个选项的总结说明。
4.2 访问共享文件夹的两种方法
4.3 net use的使用
4.4 网卡属性解释
4.5 网络发现依赖的服务和防火墙端口以及设置方法
在使用windows系统的过程中,我们一般共享文件夹主要是使用系统自带的功能。但是在共享的过程中往往会出现很多问题。按照网络上的教程,同样的操作可能有的人可以正确访问共享文件夹,有的人却不能访问。所以本篇文章主要是分析并解决与在Windows上共享文件夹相关的问题。在分析过程中还讲解了一些文件共享的机制以及额外的知识。出现的问题主要分为两大类,一个是无法访问,一个是无权限访问。由于共享文件涉及的内容比较多,所以建议大家从头开始看这篇文章,不要跳跃式看,否则可能会错过一些细节的地方导致无法成功共享文件夹。
在这里我先按照一般方法来设置文件夹共享,然后再在本文详细讲解各个部分设置的意义是什么。
共享文件夹的一般步骤为:
1.右键需要共享的文件夹,选"属性",按如下方法操作。
2.打开“控制面板\网络和 Internet\网络和共享中心\高级共享设置 ”。启用“文件和打印机共享”和“关闭密码保护共享”。
图1
该图片中的内容在本文其他位置讲解和设置中要用到,请主机这里。
文件共享失败有如下几方面的原因:
1.所在工作组不一样是否影响共享文件?
2.防火墙未正确设置
3.用户被禁用
3.1Guest用户被禁用
3.2其他用户被禁用的
4.用户没有权限访问
5.本地安全策略禁用
6.网卡的文件和打印机共享未打开。
7.系统使用了以前缓存的账户访问
下面开始一个一个的分析。
在寻找解决与共享文件相关的问题时,经常看到有一些帖子中提出要先设置工作组以使共享文件夹和访问共享文件夹双方主机在同一工作组。经过测试,处于不同工作组的主机也是可以正常地共享文件的。
这里把防火墙放在第一位是因为大多数人的问题是防火墙相应的端口没有打开。要打开防火墙相应的端口有两种办法:
1.在“控制面板\系统和安全\Windows 防火墙\允许程序或功能通过Windows防火墙”中把“文件和打印机共享”左边方框的对勾打上。这样便在防火墙中打开相应的共享端口。
2.在图1中的“文件和打印机共享”中选择“启用文件和打印机共享”即可。
其实“启用文件和打印机共享”也是在防火墙中打开相应的共享端口。上面两种方法的结果是一样的。只不过是设置的地方不一样。可以在“控制面板\系统和安全\Windows 防火墙”左侧栏中点击“高级设置”打开“高级安全Windows防火墙”。或者直接win + r 键入wf.msc打开。点击左侧栏的“入站规则”,在中间显示部分找到“文件和打印机共享”。可以看到有很多“文件和打印机共享”相关的规则。查看与当前网络位置相关的规则。即如果当前是在公用网络下则查看“配置文件”是公用的“文件和打印机共享”相关的规则。当前是在专用网络下则查看“配置文件”是专用的“文件和打印机共享”相关的规则。分别在前面两种设置防火墙的位置设置“文件和打印机共享”,看下几个选项有什么变化。主要看“已启用”那一列的变化。
比较常见的问题的是Guest用户被禁用,因为新系统安装后默认情况下guest用户是被禁用的。在Windows系统中任何操作都是需要以某个用户身份进行的。对共享文件夹的访问也不例外。如果共享文件夹时添加了Everyone或者Guest,则通过网络访问时使用的用户身份默认是Guest。要启用Guest用户有两种方法。下面两种方法作用是一样的,只是设置的地方不同。
1.右键“我的电脑”,选择“管理”。在“计算机管理\本地用户和组\用户”中右键“Guest”用户选择”属性“。把“账户已禁用”左边的对勾去掉即可。
在访问共享文件夹的时候可以使用的用户不只是Guest,只要是有权限的账户都可以。 所以如果使用被禁用的账户也是不可访问共享文件夹的。
要查看哪个账户有权限访问文件夹可以右键文件夹\属性\安全选项卡,查看各个用户和组的所拥有的权限。也可以分别编辑每个用户或组的权限。
使用无权限用户访问时会出现
本地安全策略有几个地方也影响了共享文件夹的访问。可按“win + r”或在开始菜单中输入secpol.msc打开本地安全策略,也可以直接在开始菜单中输入“本地安全策略”打开。
1.
如果把用户添加到“拒绝从网络访问这台计算机”并且使用该用户访问共享文件夹则可能出现以下错误:
2.
如果启用了以上“本地安全策略”项则可能会出现下列错误。
遇到这个问题的概率比较低,但有时这里也会出现意想不到的错误。
对于共享文件夹端的主机打开“控制面板\网络和 Internet\网络连接”,右键网卡,选择“属性”。可以看到“网络”选项卡下面“Microsoft网络的文件和打印机共享”。把该选项左边的对勾先取消按确定,然后再次进入把对勾选上按确定即可。
对于访问共享文件夹端的主机也同样地操作“Microsoft网络客户端”。
每个网卡都有相同设置。所以这里的设置是相对于每个网卡而言的,即可以设置连接本主机该网卡的网络设备可以访问共享文件夹,而连接本主机其他网卡的网络设备不可以访问该主机的共享文件夹。这对于有多网卡的主机有更灵活的配置。
设置完后可能要重启网卡或者主机。
在第一次访问访问共享文件夹时需要提供用户名或者用户名和密码。在第一次访问成功后系统会自动记住访问该共享文件夹时使用的用户名和密码。在下一次访问共享文件夹时会自动使用该用户名和密码。在共享文件夹的主机更改设置时,比如更改用户的密码时。这个时候会出现没有权限访问的情况。如下图所示:
这个时候可以删除先前系统自动保存的用户名和密码。可以使用net use命令删除。用法为先使用net use 命令查看当前的网络连接。然后使用net use \ComputerName /delete命令删除自动保存的用户名和密码即可。这里的ComputerName必须是主机名,不能是IP地址。如果不行可以重启一下访问共享文件夹端的主机网卡或主机。
也可直接使用net use命令设置访问某个主机使用的用户名和密码。使用方法为:net use \IP地址 密码 \user:用户名
各个选项的作用在图1选项中已经有说明了,这里只做补充说明。
1.网络发现
此选项用于网络上其他主机是否可以在“网络”(以前的“网络邻居”)中看到该设备。如果禁用则无法看到,但还是可以直接在“Windows资源管理器”中输入ip地址进行访问,如\192.168.25.110,或者直接输入主机名\WIN-I4BTR51SSDT\进行访问。但是输入ip地址进行访问会比较快。
2.文件和打印机共享
此选项用于开启文件和打印机共享。使用的是smb协议。
3.公用文件夹共享
此选项用于是否共享公用文件夹,共享目录为C:\Users\Public。关闭此选项则在网络中的主机在“网络”中无法看到该共享目录,也无法访问。
4.媒体流
用于建立媒体库,共享图片,音频与视频。这里共享目录也是C:\Users\Public。使用的是DLNA协议。DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟)。可以在网络中另一台主机中通过Windows media player或者支持DLNA的网络设备访问媒体库。也可以在“windows 资源管理器”中“网络位置”一栏中查看媒体库。
5.文件共享连接
Windows 7 使用128位加密帮助保护文件共享连接。某些设备不支持128位加密,必须使用40或56位加密。
6.密码保护的共享
设置在网络主机访问本机共享文件夹时是否需要密码。
有时候我们会想查看有谁在访问我们的共享文件夹和访问哪些文件。这时候可以使用Windows系统自带的工具查看。按win + r 键输入compmgmt.msc或右键“我的电脑”,选择“管理”打开“计算机管理”控制台。
在“计算机管理\共享文件夹\会话”中可以看到是哪台主机使用哪个账户访问共享文件夹。
在“计算机管理\共享文件夹\打开文件”中可以看到查看了哪些文件。
访问共享文件夹有两种方法,第一种是直接在Windows资源管理器中的“网络”中查看。第二种是在Windows资源管理器中的地址栏中输入IP地址进行访问,如\\192.168.25.110
net use命令可以设置访问共享文件夹时使用的用户和密码。可以查看和断开当前已连接到的共享主机。
控制面板\网络和 Internet\网络连接中右键网卡选择“属性”即可打开网卡属性。从上图中可以看到有很多的选项。在用鼠标左键选择某一项时可以在该页面下方的描述中看到其作用。其中
网络发现需要启动 DNS 客户端、功能发现资源发布、SSDP 发现和 UPnP 设备主机服务,从而允许网络发现通过 Windows 防火墙进行通信,并且其他防火墙不会干扰网络发现。如果某些情况(但不是上述所有情况)属实,则网络发现状态将显示为“自定义”。
依赖的服务DNS Client,Function Discovery Resource Publication,SSDP Discovery, UPnP Device Host,要使用网络发现,必须将这几个服务启动。
打开“网络发现”防火墙端口有两个方法:
1.打开“控制面板\网络和 Internet\网络和共享中心\高级共享设置 ”。启用“启用网络发现”。
2.在“控制面板\系统和安全\Windows 防火墙\允许程序或功能通过Windows防火墙”中把“网络发现”左边的方框打上对勾。这样便在防火墙中打开相应的“网络发现”端口。
这样就能在“网络”中查看到网络中其他支持smb协议的主机。网络上的其他主机也能看到这台主机。
可以在“控制面板\系统和安全\Windows 防火墙”左侧栏中点击“高级设置”打开“高级安全Windows防火墙”。或者直接win + r 键入wf.msc打开。点击左侧栏的“入站规则”或“出站规则”,在中间显示部分找到“网络发现”。可以看到有很多网络发现项,可以查看网络发现所使用的端口。