是否可以在 Windows XP 系统上设置一个批处理文件,用户可以执行但不能读取(键入、编辑等)?
我尝试使用权限,允许“执行文件”但不允许“读取数据”,但似乎不起作用。
谢谢。
答案1
默认情况下,批处理文件至少可供运行批处理的计算机上具有足够权限的任何人查看/读取。
如果您需要创建一个不可读的文件,则需要使用其他文件。任何脚本(vbs、batch、powershell、jscript)都可以被任何能够运行该文件的人查看。
甚至可执行文件也可以被查看。只是查看方式不同,才允许某种程度上隐藏文件的内容。
因为脚本文件根据定义是基于文本的指令列表,所以可以在文本编辑器中轻松查看它们。
更新(根据评论添加):加密的问题在于,脚本运行时必须解密。
我想你必须决定要阻止谁阅读剧本:必须是任何情况下任何人都无法观看,还是只是大多数普通人无法观看?
如果足以防止普通人看到它,只需从注册表中删除 batfiles 的编辑条目,并确保脚本以最少的输出运行。如果您必须让每个人都看不到它,您需要找到其他运行它的方法。
答案2
首先,非常感谢所有参与者!
在我继续讨论解决方案之前,让我先向您详细介绍一下为什么首先需要它。
我们有一个批处理文件,它运行数据库脚本来更新一些表。该脚本需要密码才能连接到数据库,因此在批处理文件中指定了密码。
用户偶尔需要在生产系统上运行该脚本,但让他们知道密码并不是一个选择。
解决方案包括以下内容:
1) 批处理文件的权限设置为仅允许指定帐户访问。2
) 在 Windows 调度程序中设置了一个任务,以在该特定帐户下运行该批处理文件。计划任务的权限允许相关用户读取和执行访问。该任务设置为“已禁用”。3
) 每当需要运行批处理文件时,用户都会手动启动相应的任务。
另外一个好处是,该任务可以远程启动:
schtasks /run /s remote_system /tn task_name
再次感谢您的回复。
答案3
您始终可以使用类似以下方法将批处理文件转换为 exe商务及技术教育委员会, 尽管正如 music2myear 指出的那样,即使这样也无法阻止那些有决心的人查看其中的大部分内容。
答案4
我认为你不能,但请看这里的高级权限以及它们的作用http://www.ntfs.com/ntfs-permissions-file-advanced.htm