Windows 域下普通用户的权限限制方式

默认的Windwos域下的普通用户对所有域内计算机都有一定的访问权限的,包括:登录、网络访问等

如果希望Windows 域下普通用户的权限受到一些常规限制,比如只能登陆指定的计算机,只能访问指定的网络资源;通常的方法包括:

1、通过组策略,阻止Domain Users组的本地登录权限,或者网络登录权限,本地登录权限好限制,网络登录权限限制似乎会引起一些冲突性问题,未经验证!

2、指定普通用户的“登录到指定计算机属性”

3、阻止本地计算机账户的Users组自动添加Domain Users组。这似乎一个彻底的解决办法。

实现方法3的方式有2中常见的:

A:通过“组策略》受限制的组”的方式部署组策略,强制本地Users组的成员范围。但这种方式会使所有的计算机的Users组统一配置,灵活性有欠缺。而且已经发现在Windows7下,域用户必须具有本地Users组权限才能正常登录,即使已经加入本地Administrators组也不行。

B:通过脚本,删除计算机的本地Users组中的Domain Users。

没有能够完整的查证相关资料,目前我采用的通过组策略部署启动脚本,然后再脚本中删除本地Users组中的Domain Users。

脚本代码如下:

'Remove Domain Users From Local Users
strComputer = "."
On Error Resume Next
	Set oGroupAdm = GetObject("WinNT://" & strComputer & "/Users")
	For Each oAdmGrpUser In oGroupAdm.Members
	        If (LCase(oAdmGrpUser.Name) = "domain users") Then
	                'wscript.echo("Remove:" & oAdmGrpUser.ADsPath)
	                oGroupAdm.Remove oAdmGrpUser.ADsPath
	               If (Err.Number <> 0) Then
            			'wscript.echo( "Remove Error:" & Err.Number)
       				End If
	        End if
	Next

此方案只是临时性解决方案,尚未通过充分验证!

补充:2011.3.24

上述方案存在问题,补充设置:使用组策略定义可以本地登录组,同时严格避免给用户直接指定终端登录权限,用户即使没有本地登录权限,只有拥有终端登录权限,就可以通过远程桌面登录。

(34)

hard link (硬链接) 、symbolic link(符号链接)和Windows

hard link (硬链接) 是直接连接到物理存储地址的,比如XX扇区、XX文件块等,所有的硬链接的平等的,甚至可以认为所有的普通文件都是一个单一硬链接。硬链接的结构方式决定了:它不能跨文件系统,因为不同文件系统下的物理存储方式是不同的;它不能链接到目录(??);当一个文件的所有硬链接都配删除掉,这个文件才会被真正删除。

Symbolic link(符号链接) 是连接到文件路径的,可以认为它比Hard Link所处的层次要高一些,因为它是基于路径工作的,所以决定了:所有的符号链接都是连接到一个真实目标路径上的,当该目标文件被删除,所有的符号链接也都会失效;它可以跨越文件系统;删除符号链接不会影响到物理文件本身(注意:windows的资源管理器似乎会把物理文件一起删除掉!)

根据上述比较,通常用途下,应该优先使用Symbol Link。

Windows 下的快捷方式和符号链接其实2个差别很大的东西,可以认为:符号链接对应用程序来说是透明的,符号链接和真实路径间的转换是在操作系统层面来自动处理的;而Windows 下快捷方式存储的仅仅是个路径信息,操作系统不会自动进行物理路径转换,而需要应用程序的读取快捷方式,然后寻找要操作的文件。

可以进一步的分析认为:Hard Link是工作于文件系统物理存储层,Symbolic Link 工作于文件系统的接口层,快捷方式工作于应用层(上述未必准确)。

Windows自NTFS3.0版(windows2000起)开始支持Hard Link 和 Symbolic Link,但没有提供相应的管理工具,这里(http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.htm)有一个扩展工具可以在Windows NTFS下进行管理操作。注意Windows对链接的支持不是完全的,特别是Windows自带的资源管理器对Symbolic Link的操作有一些奇怪的表现。

(131)

有些事情是做不到的

1.Windows 的EFS系统,不能使你的加密的内容完全私有,事实上域管理员或者计算机管理员是有办法获取你的权限的,而且它也不能加密目录结构和文件名,只能加密文件内容。 由此可见EFS的加密主要解决的是在存储介质被他人在物理上获取后的失密问题,比如某个硬盘或者移动存储器丢失。事实上新的bitLock能更好的实现这一目的。

2.域环境下,域管理员的权限最大,任何windows内置的加密和权限系统对域管理员来说都是无效的。如果你确实需要在域环境下存储一些需要对域管理员完全保密的数据,请附加第三方的加密的措施,比如加密的压缩文件等等。

3.Windows的DFS,分布式文件系统是为域环境设计的,只有域内的计算机可以访问

4.配置Windows服务器安全,SCW,安全配置向导,是个好东西,通过添加删除windows组件可安装

(15)

非域环境下管理Windows的共享访问权限

非域环境下管理Windows的共享访问权限最大的问题是很难控制客户端访问主机时的所使用的账号,Windows在这方面的没有统一的管理界面,很容易让人困惑:

非域环境下Windows客户端访问共享服务器时的账户检测流程:

这是一个经过反复尝试后推理出的检测流程

1.检测客户端是否有存储的针对该服务器的登录凭据,如果有使用该凭据(账户)进行登录,如果没有转下一步.

2.使用当前客户端的用户名和密码向服务器发出登录申请,如果服务器有同名同密码账户则获取该账户权限,(如果失败转下一步)

3.使用Guest账户尝试连接服务器 (如果失败转下一步)

4.显示用户名/密码的提示窗口,由用户输入连接服务器的账户信息,根据连接方式的具体不同(映射或直接访问路径等等),有时可以选择保存该账户信息,作为以后的登录凭据

通过以上流程可以发现,要使客户端使用指定的账户连接共享服务器的最佳方式是控制客户端的存储的针对该服务器的登录凭据,windows提供了管理该凭据的方法,在windows7下位于:控制面板->用户账户->管理windows凭据下.WinXP下也要类似配置工具.

直接打开给工具的命令行是:RunDll32.exe keymgr.dll,KRShowKeyMgr

 

另外还有一个可以通过命令行界面管理凭据的工具cmdkey.exe,该工具随Windows2003 Support Tools 发布,WinXP下没有该工具,但该工具适用于Win2000以后的所有Win版本,可以直接复制使用。

 

利用cmdkey可以写一个批处理工具来统一部署大量的客户端,以下代码建设客户端已经复制了cmdkey.exe,该工具可以放置于和批处理相同的目录下,或者复制到windows,windows\system32等可搜索的目录下。

 

echo > 连接文件服务器(连接帐号将自动保存在当前计算机上)
echo 请关闭所有打开的我的电脑、文件夹等文件窗口.....

set /p host=请输入服务器名称(IP地址或者机器名):
set /p u=请输入用户名:
set /p p=请输入密  码:

echo.
echo 清除原有连接信息 保存用户名和密码
@net use * /delete /y >nul
@cmdkey /delete:%host% >nul
@cmdkey /add:%host% /user:ysh\%u% /pass:%p% >nul
@net use * /delete /y >nul

echo.
echo 自动进行磁盘映射
@net use x: \\%host%\共享目录路径 /Persistent:YES

echo  **注册完成**

(69)

Windows域和SID和虚拟机

[stextbox id=”alert”]指定域的名称或安全标识(SID)与该域的信任信息不一致[/stextbox]遇到过这种提示吗?

Windows系统中,每台计算机都应该有一个唯一的SID,是安装过程中随机产生的,但是如果我们使用克隆来复制安装好的系统,就会遇到SID重复问题。在大量使用虚拟机的情况下这一问题特别常见。

这一问题在普通环境下不会表现出来,但的在域环境下就造成了打问题,你会看到类似上面的提示,而且可能不能加入到域。

解决方法就是设法修改Windows的SID,有2个方法:

方法一 使用sysprep

提前win2k3按装光盘\support\tools\deploy.cab中的sysprep.exe,运行,并在“选择不重置激活的宽限期” 重新封装 并重启,重启后会对SID、网络、电脑名字、公司名字等一些信息重新设置完。

方法二 使用 NewSid.exe

这是一个直接修改SID的工具,在其他一些问题场合也许也会用到

微软官方有下载:http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx

这里还有一个汉化版:NewSid_CN

[stextbox id=”alert”]最后严重提示:不要试图修改域控制器的SID,这会带来灾难!你也许会看到类似“安全帐户管理器初始化失败”的错误提示![/stextbox]

(53)