网络为我们提供了丰富的共享资源,但访问这些资源时却会经常出现“拒绝访问”或“权限不足”的错误提示信息,特别是在Windows工作组环境中,很难有效地对客户机的用户账号和访问权限进行管理,此外,网络中不同版本的Windows操作系统共存,网络防火墙配置不当,也是出现以上问题的主要原因。下面为您答疑解惑,彻底解决共享资源互访问题。
一、症结
1.访问权限设置不当
Windows NT/2000/XP/2003系统支持NTFS文件系统,采用NTFS可以有效增强系统的安全性,但在ACL(访问控制列表)中对用户访问权限设置不当时,也会导致用户无法正常访问本机共享资源,出现“权限不足”的提示信息。
2.账号和策略设置不当
在Windows工作组环境中,一般情况下,用户要使用Guest账号访问共享资源。但为了系统的安全,禁用了本系统的Guest账号,此外,在Windows 2000/XP/2003系统中,组策略默认是不允许Guest账号从网络访问这台计算机的,这样就导致其它用户无法访问本机的共享资源,出现“拒绝访问”的提示信息。
3.网络防火墙设置不当
用户为了增强本机的安全性,防止非法入侵,安装了网络防火墙。但对网络防火墙设置不当,同样导致其它用户无法访问本机的共享资源,出现“拒绝访问”的提示信息,这是因为防火墙关闭了共享资源所需要的NetBIOS端口。
二、解决之道
了解了共享资源不能成功互访的主要原因后,我们就可以对症下药,彻底解决访问中出现的问题。
1.启用Guest账号
在很多情况下,为了本机系统的安全,Guest账户是被禁用的,这样就无法访问该机器的共享资源,因此必须启用Guest账户。
笔者以Windows XP系统为例进行介绍。在共享资源提供端,进入到“控制面板→管理工具”后,运行“计算机管理”工具,接着依次展开“计算机管理(本地)→系统工具→本地用户和组→用户”,找到Guest账户。如果Guest账户出现一个红色的叉号,表明该账户已被停用,右键单击该账号,在Guest属性对话框中,去除“账户已停用”的钩选标记,单击“确定”后,就启用了Guest账户。此方法适用于Windows 2000/XP/2003系统。
提示:使用Guest账户访问共享资源存在很大的安全隐患。当然我们也可以为每个访问用户创建一个指定的账号。首先在共享资源提供端创建一个新的账号,然后指定该账号的访问权限。接下来在要访问该共享资源的客户机中新建一个相同用户名和密码的账号,使用此账号登录客户机后,就能正常访问该账号所允许的共享资源。此方法较为安全,但要为网络中的每个用户都创建一个账号,不适合规模较大的网络。
2.修改用户访问策略
虽然启用了本机的Guest账号,但用户还是不能访问本机提供的共享资源,这是因为组策略默认不允许Guest账号从网络访问本机。
单击“开始→运行”,在运行框中输入“gpedit.msc”,在组策略窗口中依次展开“本地计算机策略→计算机配置→Windows设置→安全设置→本地策略→用户权利指派”(图1),在右栏中找到“拒绝从网络访问这台计算机”项,打开后删除其中的Guest账号,接着打开“从网络访问此计算机”项,在属性窗口中添加Guest账号。这样就能使用Guest账号从网络中访问该机的共享资源了。此方法适用于Windows 2000/XP/2003系统。
图 1
3.正确配置网络防火墙
很多机器安装了网络防火墙,它的设置不当,同样导致用户无法访问本机的共享资源,这时就要开放本机共享资源所需的NetBIOS端口。笔者以天网防火墙为例,在“自定义IP规则”窗口中选中“允许局域网的机器使用我的共享资源”规则,最后点击“保存”按钮,这样就开放了NetBIOS端口。
4.合理设置用户访问权限
网络中很多机器使用 NTFS文件系统,它的ACL功能(访问控制列表)可以对用户的访问权限进行控制,用户要访问这些机器的共享资源,必须赋予相应的权限才行。如使用Guest账号访问该机器的CPCW共享文件夹,右键点击该共享目录,选择“属性”,切换到“安全”标签页,然后将Guest账号添加到用户列表中,接着指定Guest的访问权限,至少要赋予“读取”和“列出文件夹目录”权限(图2)。如果想让多个用户账号能访问该共享目录,只需要添加Everyone账号,然后赋予“读取”和“列出文件夹目录”权限即可,这样就避免逐一添加和指定每个用户访问账号。此方法适用于采用NTFS文件系统的Windows 2000/XP/2003系统。
图 2