问题标签 [privileges]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vbscript - 了解用户是否具有 VBScript 管理权限的最佳方法
我需要检查执行脚本的用户是否在机器上具有管理权限。
我已经指定了执行脚本的用户,因为脚本可能已经使用类似于“Runas”的登录用户以外的用户执行。
@Javier:这两种解决方案都可以在安装了英文版 Windows 的 PC 上工作,但如果安装的是不同的语言,则不能。这是因为管理员组不存在,名称不同,例如西班牙语。我需要适用于所有配置的解决方案。
mysql - 为 MySQL 用户提供最低权限
对于 Web 应用程序,在创建将连接到 MySQL 数据库的用户时,您可以选择权限。假设该用户打算执行的唯一操作是 SELECT/INSERT/UPDATE/DELETE,只提供这些权限似乎是有意义的,但是我从未在任何地方看到过推荐 - 支持和反对的原因是什么方法?
windows - 在 Windows XP 上:如何创建一个只能读取某个目录的用户?
首先让我声明:我知道任何想要运行程序(甚至登录)的用户都必须有权访问(可能至少)Windows系统目录和共享库%ProgramFiles%
,但我想成为能够访问 Skype,例如,通过使用非特权用户运行它并确保它不能访问任何不必要的文件。
我担心这样做的唯一方法是识别我存储不希望该用户访问的文件的所有大量目录,然后创建一个可以访问这些目录的新用户组,或者运行 Skype 和 Azureus在虚拟机中。
有没有更好的办法?
.net - 我可以在不需要管理员权限的情况下将 .NET 框架放在机器上吗?
我正在构建的应用程序需要 .NET 框架。不幸的是,我们的最终用户将没有管理员权限。我知道没有管理员权限就无法安装 .NET,但是是否可以将它的预打包版本构建到我们的系统中,这样用户就不需要管理员权限?如果有可能,我将如何去做?我听说过的一种方法是将必要的 .dll 文件放在与可执行文件相同的文件夹中,但这似乎不起作用。
提前致谢。
vbscript - 使用 VBscript 读取用户权限
我正在尝试确定用户(运行脚本的用户,有或没有运行身份)是否应用了某些用户权限策略。由于secedit /analyze仅参考实际设置并忽略通过组成员身份进行的权限传播,因此在这种情况下它是无用的。
我指的是这些特权: SeTcbPrivilege SeIncreaseQuotaPrivilege
c# - 如何判断我的进程是否以管理员身份运行?
我想在进程以管理员身份运行时显示一些额外的 UI 元素,而不是在以管理员身份运行时显示一些额外的 UI 元素,类似于 Visual Studio 2008 在以管理员身份运行时在其标题栏中显示“管理员”的方式。我怎么知道?
c++ - 为什么探查器需要管理权限(在 Windows 上)
我一直在评估 Windows 上本地 C++ 程序的分析器和内存检查工具,所有这些都希望以管理员权限安装和运行。我很少在我的机器上以管理员身份登录。如果我需要安装一些东西或做一些需要管理权限的东西,我会使用 runas 并且它工作得很好。
探查器要求管理员权限是否合法,或者探查器开发人员只是懒惰?我在此基础上拒绝所有这些工具是不合理的吗?
我在 XP Pro 机器上使用 VS 2005 进行开发。
windows - 检测是否在 Windows XP 下以管理员权限运行
我正在尝试找出如何检测用户是否在 Windows XP 下以管理员权限运行。借助 whoami命令,这在 Vista/Win7 中相当容易做到。这是 Ruby 中的一个片段,说明如何在 Vista 下执行此操作:
请注意,以下链接现在包含 muteW 建议的解决方案
问题是,whoami 没有随 Windows XP 一起提供,所以上面链接的方法在 WinXP 上总是会返回 false,即使我们以管理员身份运行。
那么,有没有人知道一种方法来检测我们是否在 Windows XP 下使用 Ruby、命令行工具、批处理文件或什至第三方(真的需要开源)工具作为管理员运行?
c# - 如何仅在需要时提升权限?
这个问题适用于Windows Vista!
我有一个通常在没有管理权限的情况下工作的应用程序。有一项活动确实需要管理权限,但是当我知道大多数时候用户甚至不会使用该功能时,我不想以更高的权限启动应用程序本身。
我正在考虑某种方法,通过该方法我可以在某些事件(例如按下按钮)上提升应用程序的权限。例子:
如果用户单击此按钮,则会提示他使用 UAC 对话框或同意。我怎样才能做到这一点?
c# - 从 C# 调用 CreateProcessAsUser
我一直在尝试使用CreateProcessAsUser
Windows API 的功能在特定用户的上下文中创建一个新进程,但似乎遇到了一个相当讨厌的安全问题......
在我进一步解释之前,这是我当前用于启动新进程的代码(控制台进程 - 具体来说是 PowerShell,尽管它不重要)。
为了这里的问题,忽略处理环境变量的代码(我已经独立测试了该部分,它似乎工作。)
现在,我得到的错误如下(在调用之后的行中抛出CreateProcessAsUSer
):
“客户端未持有所需的权限”(错误代码 1314)
(错误消息是通过从 Win32Exception 构造函数中删除 message 参数发现的。诚然,我这里的错误处理代码可能不是最好的,但这有点无关紧要。但是,如果您愿意,欢迎您对此发表评论。 ) 对于这种情况下这种模糊错误的原因,我真的很困惑。MSDN 文档和各种论坛帖子只给了我这么多建议,尤其是考虑到此类错误的原因似乎多种多样,我不知道我需要修改哪段代码。也许这只是我需要更改的一个参数,但我可能会做出错误/不足的 WinAPI 调用,就我所知。让我非常困惑的是,以前版本的代码使用了普通的CreateProcess
函数(除用户令牌参数外等效)工作得非常好。据我了解,只需要调用 Logon 用户函数来接收适当的令牌句柄,然后复制它,以便它可以传递给CreateProcessAsUser
.
非常欢迎对代码修改和解释提出任何建议。
笔记
我主要指的是 MSDN 文档(以及用于 C# 函数/strut/enum 声明的PInvoke.net )。特别是以下页面似乎在备注部分中有很多信息,其中一些可能很重要并且我无法理解:
编辑
我刚刚尝试了 Mitch 的建议,但不幸的是,旧的错误刚刚被一个新的错误所取代:“系统找不到指定的文件。” (错误代码 2)
之前的调用CreateProcessAsUser
已替换为以下内容:
请注意,正如 MSDN 文档所暗示的那样,此代码不再使用重复的令牌,而是使用原始令牌。
这是使用CreateProcessWithLogonW
. 这次的错误是“登录失败:未知用户名或密码错误”(错误代码1326)
我还尝试以 UPN 格式(“Alex@Alex-PC”)指定用户名并将域作为第二个参数独立传递,但都无济于事(相同的错误)。