如何限制特定的 cmd 命令

如何限制特定的 cmd 命令

我想知道如何限制单个(非管理员)用户使用命令提示符中的特定命令。例如:dir应该允许,但shutdown应该阻止。另外,这在白名单中可行吗(即,除 之外的所有命令都被阻止dir)?

答案1

与 UNIX/Linux 操作系统不同,Windows 有两种类型的命令:内部命令和外部命令。诸如dircdrdcopydel等命令内置于命令解释器中,因此属于内部命令。所有其他命令行实用程序(例如netshutdowntelnetftp等)都是外部命令 - 它们具有关联的 .exe 文件。您可以通过在命令行中键入来获取内部命令列表help

内部命令是全有或全无的交易。如果您授予对命令提示符的访问权限,则您授予对它们所有权限。外部命令就像任何其他程序一样,因此如果您不希望用户运行该ipconfig命令,您可以撤销该用户对它的读取权限。

但是,您应该知道命令行不是魔术。它不能也不会允许用户执行他们通常无法执行的操作。命令行公开的功能仍然受系统安全性的约束。没有文件夹读/写权限的用户无法使用rddel删除它。如果他们没有文件夹的读取权限,他们就无法cd进入该文件夹。

我建议你认真考虑一下你想要实现什么。阻止命令就像移除门把手。它不会阻止门被打开。如果你想要保护门,你会锁上它。

假设您想阻止shutdown用户访问命令。但这并不能阻止他们关闭系统。实际上有十几种方法可以关闭计算机。您所做的只是阻止其中一种特定方法。相反,您应该使用安全策略来拒绝用户关闭计算机的权限。这样,任何关闭机器的尝试都将被阻止——无论他们如何尝试。这是服务器上的默认策略。

更改 Windows 目录中的默认安全权限通常也不是个好主意。它可能会造成你甚至想不到的后果。而且这些后果可能不会立即显现出来。

答案2

在运行对话框中输入 secpol.msc 来启动编辑器,然后导航到应用程序控制策略,然后导航到 AppLocker 和可执行规则

右键单击并创建可执行规则,然后选择要允许的用户或否定。然后是文件路径和下一步,然后浏览文件并使用*.*。您可以单击“下一步”为其指定名称和注释,或者直接单击“创建”。

您还可以说否定用户 X 在*.*文件/文件夹/路径下。但是,您必须将所有应用程序列入白名单,包括 word、firefox,甚至标准 windows 工具。

是的创建默认规则。

您需要将新规则移至列表顶部,以便它们优先于其他规则。

注意:关机是一个 EXE,因此它会阻止它。但是,像 CD、MD、RD 这样的原生 DOS 命令是 DOS 的一部分,因此它们不会被这种方式阻止。只读文件权限可以阻止不应具有写入权限的文件/文件夹上的这些命令。

相关内容