- 本篇文章要解决的问题
- 共享文件夹的一般过程
- 文件共享失败的原因以及解决办法
3.1 所在工作组不一样是否影响共享文件?
3.2 防火墙未正确设置
3.3 用户被禁用
3.3.1 Guest用户被禁用
3.3.2 其他用户被禁用的
3.4 用户没有权限访问
3.5 本地安全策略设置不正确
3.6 网卡的文件和打印机共享未打开。
3.7 系统使用了以前连接时缓存的账户访问
3.8 关于“网络访问:本地账户的共享和安全模型”的问题
3.9 Windows10系统默认拒绝不安全的来宾登录- 在不同地方设置时系统更改了哪些地方
4.1 右键文件夹共享文件时
4.2 在图1中位置设置关闭“密码保护共享”
4.3 在控制面板启用用户账户- 额外知识
5.1 图1各个选项的总结说明。
5.2 查看访问共享文件夹的用户和主机名以及访问的文件
5.3 访问共享文件夹的两种方法
5.4 net use的使用
5.5 网卡属性解释
5.6 网络发现依赖的服务和防火墙端口以及设置方法
本文最后更新于2018/11/27。更新内容:本文第3.9小节的内容。
在使用windows系统的过程中,我们一般共享文件夹主要是使用系统自带的功能。但是在共享的过程中往往会出现很多问题。按照网络上的教程,同样的操作可能有的人可以正确访问共享文件夹,有的人却不能访问。所以本篇文章主要是分析并解决与在Windows上共享文件夹相关的问题。在分析过程中还讲解了一些文件共享的机制以及额外的知识。出现的问题主要分为两大类,一个是无法访问,一个是无权限访问。由于共享文件涉及的内容比较多,所以建议大家从头开始看这篇文章,不要跳跃式看,否则可能会错过一些细节的地方导致无法成功共享文件夹。本篇文章已经列举分析了大部分与共享文件夹相关的问题,但是问题总是千变万化的,其他网友也有可能会遇到不同的问题,所以这篇文章会不定时进行更新补充,或者将有错误的地方进行更改。
在这里我先按照一般方法来设置文件夹共享,然后再在本文详细讲解各个部分设置的意义是什么。
共享文件夹的一般步骤为:
1.右键需要共享的文件夹,选"属性",按如下方法操作。
2.打开“控制面板\网络和 Internet\网络和共享中心\高级共享设置 ”。启用“文件和打印机共享”和“关闭密码保护共享”。
可以按 win + r 键输入control按确定打开控制面板
图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,只要是有权限的账户都可以。 所以如果使用被禁用的账户也是不可访问共享文件夹的。
这里要说明权限分为共享权限和NTFS权限。用户要通过网络访问共享文件夹要具有NTFS权限和共享权限。其中要具有共享权限必须先具有NTFS权限。要查看用户对该文件夹具有的NTFS权限可以右键文件夹\属性\安全选项卡,查看各个用户和组的所拥有的权限。也可以分别编辑每个用户或组的权限。
可右键文件夹\属性\共享\共享中查看各用户和组的共享权限。
使用无权限用户访问网络共享文件夹时会出现
本地安全策略有几个地方也影响了共享文件夹的访问。可按“win + r”或在开始菜单中输入secpol.msc打开本地安全策略,也可以直接在开始菜单搜索框中输入“本地安全策略”打开。
1.
如上图如果把用户添加到“拒绝从网络访问这台计算机”并且使用该用户访问共享文件夹则可能出现以下错误:
2.
如上图如果启用了以上“本地安全策略”项则可能会出现下列错误。经过测试,该项是针对非Guest账户的。即该项启用与否与Guest账户是没有任何关系的。图中所述的控制台登录是指本地物理上登录,非远程网络登录。
遇到这个问题的概率比较低,但有时这里也会出现意想不到的错误。
对于共享文件夹端的主机打开“控制面板\网络和 Internet\网络连接”,右键网卡,选择“属性”。可以看到“网络”选项卡下面“Microsoft网络的文件和打印机共享”。把该选项左边的对勾先取消按确定,然后再次进入把对勾选上按确定即可。
对于访问共享文件夹端的主机也同样地操作“Microsoft网络客户端”。
每个网卡都有相同设置。所以这里的设置是相对于每个网卡而言的,即可以设置连接本主机该网卡的网络设备可以访问共享文件夹,而连接本主机其他网卡的网络设备不可以访问该主机的共享文件夹。这对于有多网卡的主机有更灵活的配置。
设置完后可能要重启网卡或者主机。
在第一次访问访问共享文件夹时需要提供用户名或者用户名和密码。在第一次访问成功后系统会自动记住访问该共享文件夹时使用的用户名和密码。在下一次访问共享文件夹时会自动使用该用户名和密码。在共享文件夹的主机更改设置时,比如更改用户的密码时。这个时候会出现没有权限访问的情况。如下图所示:
这个时候可以删除先前系统自动保存的用户名和密码。可以使用net use命令删除。用法为先使用net use 命令查看当前的网络连接。然后使用
net use /delete \\ComputerName 命令删除自动保存的用户名和密码即可。这里的ComputerName是主机名。
如果访问共享文件夹时使用的是IP地址而非主机名,则这里要输入IP地址。
可以直接使用net use命令设置访问某个网络共享文件夹使用的用户名和密码。使用方法为:“net use \\IP地址 密码 /user:用户名”或“net use \\主机名 密码 /user:用户名”
注意:
虽然IP地址和主机名对应的是同一个共享主机,但是使用net use时IP地址和主机名时不一样的。当“net use \\IP地址 123456 /user:xigege”和“net use \\主机名 123456 /user:paitouxi”这样设置时,如果用“\\IP地址”访问共享文件夹时使用的是xigege这个身份。如果用“\\主机名”访问共享文件夹时使用的则是paitouxi这个身份。
可以使用“net use /delete \WIN-I4BTR51SSDT”命令删除访问共享文件夹时使用的登录凭据。但是如果在使用该命令时没有断开所有到该主机的访问,则还可以继续使用先前的登录凭据访问共享文件夹,所以最好是在断开所有到该共享主机的连接再执行该命令。如果使用Windows资源管理器访问共享则需要先关闭再执行该命令。在执行完该命令后要等待几秒等到该命令执行完毕再次打开远程共享文件夹即可弹出用户登录对话框。可以在远程共享主机中查看到正在访问的主机和用户(可在额外知识部分了解怎么查看)。
相信很多朋友都有遇到过网络上共享教程中有关该项的设置,一般都要求将该项设置成“经典-对本地用户进行身份验证,不改变其本来身份”。但是设置成“仅来宾-对本地用户进行身份验证,其身份为来宾”也是可以的。只不过在图1中设置关闭密码保护共享后可使用任何用户通过网络访问共享文件夹,但身份都被验证为来宾账户即Guest。可以在命令提示符下使用 use net \\ip地址 \user:用户名命令设置访问网络某主机共享文件夹时使用的用户。可以发现无论用户名这一项无论设置成什么名字都可以访问共享文件夹。但是若在图1中设置开启密码保护共享后只可使用管理员或者Guest用户通过网络访问共享文件夹。可以在共享文件夹的主机中按win + r 键输入compmgmt.msc或右键“我的电脑”,选择“管理”打开“计算机管理”控制台。在“计算机管理\共享文件夹\会话”中查看是哪台主机使用哪个账户访问共享文件夹。这意味通过网络只能访问Guest用户有权限的文件夹。设置成该项后要能正确共享文件夹需要设置以下几个地方:
1.启用Guest。
2.将Guest用户从本地安全策略“拒绝从网络访问这台计算机”项中移除。
3.启用“文件和打印机共享”。
4.右键要共享的文件夹添加Guest的权限并共享。
这里要说明的是可以选择是否为Guest设置密码。如果启用Guest密码则自动启用密码保护共享。有些朋友在测试这一项时可能会通过网络访问时出错。如果看过本篇文章前面部分确认没有问题了,可能的原因是之前有用其他账户通过网络访问共享文件夹。此时设置成“仅来宾-对本地用户进行身份验证,其身份为来宾”会导致访问出错。可以使用net use /delete \IP地址或主机名将以前的缓存删掉即可。还有另一个现象是有时即使更改管理员和Guest用户密码,客户端还是可以不输入密码就可访问共享文件夹,这时可以多次更改管理员和Guest用户密码即可。
从Windows 10开始增加了一个本地组策略项,默认禁用不安全的来宾登录,所以如果在服务端主机设置“仅来宾-对本地用户进行身份验证,其身份为来宾”项后在Windows 10 客户端默认是无法访问。访问时会出现以下错误:
这里可能都不会提示无法访问的原因,但是如果在命令提示符下设置访问网络共享文件夹时使用的用户时会有如下提示:
可以在cortana搜索框中输入“本地组策略编辑器”打开后在如下位置启用如下项即可,配置完即时生效,无须注销或重启电脑。
值得一提的是网络文件夹共享主机设置“经典-对本地用户进行身份验证,不改变其本来身份”时在Windows 10客户端中使用Guest用户身份访问时是不需要配置“启用不安全的来宾登录”的。原因是明显的,在不使用密码保护共享时,所有可以通过网络访问计算机的用户(包括匿名 Internet 用户)都可以访问共享资源,系统不对用户的身份进行验证。而设置成“经典-对本地用户进行身份验证,不改变其本来身份”时,虽然用的也是Guest用户身份,但是身份是明确的,与前者不同。也就是说后者只有共享文件夹所在的主机中存在的用户并且在共享文件夹设置了共享访问权限才能通过网络访问。
Windows 10默认拒绝不安全的来宾登录。在访问共享文件夹时,如果共享文件夹的主机中所有用户都没有设置密码则访问时会显示下图:
如果在命令行中输入net use \\ip地址则会显示出错的原因。
这种情况可以有两种解决方法:
一、使用明确指定的已启用的用户访问共享文件夹。如下图所示:
二、修改组策略
按window+R键输入gpedit.msc 来启动本地组策略编辑器。 依次找到“计算机配置-管理模板-网络-Lanman工作站”这个节点,在右侧内容区找到“启用不安全的来宾登录”这一条策略设置。双击“启用不安全的来宾登录”这一条策略设置,将其修改为“已启用”并单击确定按钮即可,如下图所示:
上面是在共享文件夹的主机中所有用户都没有设置密码时访问共享文件夹会出现的情况。如果共享文件夹的主机中有任何一个用户设置了密码,则这跟在Windows 7系统访问共享文件夹是一样的。访问时会弹出一个登录对话框,如下图所示,直接输入正确的用户名和密码即可。
经过前面的分析可以知道共享文件夹需要设置哪些地方了。那现在再来分析一下共享文件夹时系统自动做了哪些操作。
在右键文件夹共享文件时系统自动打开文件夹和打印机共享,即打开了文件夹和打印机共享防火墙端口和设置了图1中的“文件夹和打印机”选项为启用状态。
关闭“密码保护共享”后,系统自动设置了2个地方。
1.启用Guest账户,即与前面“Guest账户被禁用”那节一样设置了注册表,本地安全策略项启用Guest账户,并且在“计算机管理”中启用账户。
2.将Guest账户从“拒绝从网络访问这台计算机”项中删除,这样Guest用户即可以通过网络访问该计算机。
在控制面板启用用户账户后更改了2个地方。
1.启用Guest账户。
2.将Guest账户从“拒绝本地登录”项中删除,这样Guest用户即可以在本地登录。
从4.2和4.3可以看出两种设置不同的地方。一个允许网络访问不允许本地登录。一个允许本地登录不允许网络访问。允许本地登录即可以在开机界面或切换用户时使用Guest用户进行登录。
各个选项的作用在图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 资源管理器”中“网络位置”一栏中查看媒体库。可以看到下图中媒体设备有两个。其中WIN-WINDOWS-7是媒体播放设备。只有网络上支持upnp协议的媒体播放设备如Windows Media Player才会出现在这里。WIN-WINDOWS-7:paitouxi:是媒体库。媒体播放设备是用来播放媒体库中的内容的。
要让Windows Media Player出现在网络上其他主机的“网络”媒体设备一栏中,必须打开Windows Media Player而且设置“自动允许设备播放我的媒体”。这样网络中其他主机即可右键图片,音频,视频文件,选择播放到这台主机中。也可在下图中"其他媒体库"中直接播放网络中的媒体库中的内容。
5.文件共享连接
Windows 7 使用128位加密帮助保护文件共享连接。某些设备不支持128位加密,必须使用40或56位加密。
6.密码保护的共享
设置在网络主机访问本机共享文件夹时是否需要密码。
有时候我们会想查看有谁在访问我们的共享文件夹和访问哪些文件。这时候可以使用Windows系统自带的工具查看。按win + r 键输入compmgmt.msc或右键“我的电脑”,选择“管理”打开“计算机管理”控制台。
在“计算机管理\共享文件夹\会话”中可以看到是哪台主机使用哪个账户访问共享文件夹。
在“计算机管理\共享文件夹\打开文件”中可以看到查看了哪些文件。
访问共享文件夹有两种方法,第一种是直接在Windows资源管理器中的“网络”中查看。第二种是在Windows资源管理器中的地址栏中输入IP地址进行访问,如\\192.168.25.110
net use命令可以设置访问共享文件夹时使用的用户和密码。可以查看和断开当前已连接到的共享主机。
使用net use命令设置访问某个网络共享文件夹使用的用户名和密码。使用方法为:“net use \\IP地址 密码 /user:用户名”或“net use \\主机名 密码 /user:用户名”
注意:
虽然IP地址和主机名对应的是同一个共享主机,但是使用net use时IP地址和主机名时不一样的。当“net use \\IP地址 123456 /user:xigege”和“net use \\主机名 123456 /user:paitouxi”这样设置时,如果用“\\IP地址”访问共享文件夹时使用的是xigege这个身份。如果用“\\主机名”访问共享文件夹时使用的则是paitouxi这个身份。
也可使用“net use /delete * ”命令输入“Y”删除所有保存的用于访问共享主机的用户名和密码。
注意:可以使用“net use /delete \WIN-I4BTR51SSDT”命令删除访问共享文件夹时使用的登录凭据。但是如果在使用该命令时没有断开所有到该主机的访问,则还可以继续使用先前的登录凭据访问共享文件夹,所以最好是断开所有到该共享主机的连接再执行该命令。如果使用Windows资源管理器访问共享则需要先关闭再执行该命令。使用该命令后要先等待几秒钟等到该命令执行完毕再次打开共享文件夹即可弹出用户登录对话框。
在控制面板\网络和 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打开。点击左侧栏的“入站规则”或“出站规则”,在中间显示部分找到“网络发现”。可以看到有很多网络发现项,可以查看网络发现所使用的端口。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。