问题标签 [elevated-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.
batch-file - 批处理文件 - 以管理员身份运行,如果不删除批处理文件?
嗨,我制作了一个需要以管理员身份运行的批处理文件。为此,我使用了从这里(StackOverflow) 获取的这个脚本。
但我想要的是,如果用户选择不以管理员身份运行(单击否到 UAC),那么程序将退出,批处理将自动删除它。
批处理文件自行删除的命令是“del %0”,但我需要有关此脚本中何处的帮助,我可以放置此命令。我尝试将它与“@exit /B”一起使用,但是如果您按 YES 或 NO 到 UAC,批处理文件将被删除,然后批处理文件的其余部分无法执行
当用户对 UAC 按下“NO”时,任何人都可以帮助弄清楚如何只运行命令“del %0”?
谢谢你们 符文
c# - 如何使控制台应用程序始终以管理员身份运行?
我有一个控制台应用程序,它被开发为由 erp 软件调用。
他们在 erp 中调用我的应用程序,当他们这样做时,我总是收到与权限不足相关的错误。
我已经为所有用户检查了 exe 属性中的“以管理员身份运行此程序”复选框,但结果是相同的。
我已经阅读了有关添加清单的内容,该清单将使应用程序提示 uac 对话框,但这不是我想要的,因为将从服务器上的 erp 调用应用程序,而客户端将看不到服务器上的对话框。
有人可以解释一下如何让这个控制台应用程序始终以管理员身份运行吗?
service - 在没有提升的情况下启动 Windows 服务
我有一个配置为作为“本地服务”登录的 Windows 服务“Service1”。
我构建了一个控制台应用程序以编程方式启动它。
我知道,如果我从管理员命令提示符运行 ConsoleApplication1,它会顺利启动。
如果我在没有海拔的情况下运行它,我会得到:
发生系统错误 5。
访问被拒绝。
但是,我需要在没有提升的情况下启动它。
是否有可能,或者我必须改变实现这一目标的方式?
c# - 请求特权并在 Ubuntu Linux 中使用 C# 保留此权限
我正在编写一个工具,可用于管理 Ubuntu 上的虚拟主机和 Web 服务器。至于我需要特权的许多功能,我正在寻找实现这一点的方法。
目前我通过“gksu”或“gksudo”意识到这一点。这也有效。问题是提示用户进行任何需要特权才能输入密码的活动。 是否可以仅检索一次此密码并在程序的剩余时间内记住?还有其他方法可以实现吗?
linux - 应该如何将需要 root 权限的功能添加到 Common Lisp 库中?
原始问题
我正在尝试创建一个 Lisp 库,除其他外,它可以编辑我的系统/etc/hosts
文件和 nginx 配置。我面临的问题是,因为我的 Lisp 图像作为非特权用户运行,所以我的库不能做这些事情。理想情况下,当需要 root 权限时,我能够为我的库提供密码,以便它可以暂时提高其访问权限以完成任务。唉,我还没有找到任何与sudo
. 有吗?我是以错误的方式接近这个吗?我该如何解决这个问题?
在代码中,我想要做的基本上是这样的:
澄清
我在 OS X 上使用 SBCL。我正在尝试创建一个库,它基本上是网站快速项目的专业化。目前,每次我在本地计算机上设置一个新的 Web 项目时,我都必须编辑分布在我系统中的配置文件。我希望尽可能多地自动化,并且我希望能够在我通常打开并连接到单个 SBCL 实例的 SLIME 会话中执行此操作。
以下是其他一些注意事项:
- 我不希望我的 SBCL 主要实例成为
setuid
root - 我不介意生成一个新进程,无论是小型 C 程序还是加载几行代码然后退出的 SBCL 裸实例。
- 我想使用保持 Lisp 与 C 的比率尽可能高。
- 某些文本编辑器(例如 TextMate)在访问需要更高权限才能查看的文件时会提示输入用户名和密码,从而提供相应的访问权限。我想知道如何让我的 Lisp 库做同样的事情?
起初我无法
sudo
(实际程序本身)在 SBCL 中工作:(inferior-shell:run/ss '("sudo" "ls" ".")) ;; how can I pass sudo a password?
现在看起来可以使用
sudo
's-S
选项(谢谢 JustAnotherCurious)。我想我可能会走这条路;这绝对是我现在所倾向的。
不管怎样,谢谢大家!我从你们所有人那里学到了很多东西。
vb.net - ClickOnce 设置和其他问题 vb.NET
我正在尝试使用 vb.net winforms 编写一个小型轻量级客户端,无需提升权限即可安装。在我问我的问题之前,让我给你一些关于它应该做什么的想法。
该应用程序将在 Windows 加载时启动,从安装中设置为这样,带有系统/通知托盘图标,可以单击该图标以加载特定功能。从网站安装应用程序,或者可能是文件共享,还没有完全确定。该客户端最初会为我们的其中一个 Web 程序请求用户凭据,并且它将与已构建的 Web 服务进行对话,以确定他们有权访问我们服务的哪些功能。在此之后,凭据将被加密并保存到本地用户的 PC。每五分钟,客户端会将凭据传递给他们有权访问的网站,并检查正在处理的作业的状态,并在需要时下载可用的报告。
所以,这就是我想要理解的。如果我将此应用程序配置为 ClickOnce 应用程序,一旦它从 url 或共享驱动器安装,用户将不需要做任何其他事情,对吗?还是他们每次启动时都必须访问该 URL 以重新安装/运行客户端?
另一件事,我想就执行此应用程序将要执行的某些操作的最佳方法获得一些意见。我很清楚我要去哪里,但我不知道要采用哪种解决方案。例如,将用户传递的凭据存储在系统上以“记住我”的最佳方式是什么?此外,让客户端安装并在 Windows 启动时自动启动以将其配置为在 Windows 启动文件夹中创建自身的快捷方式的最佳方法是什么?我试图保持它尽可能轻巧,并使用一个非常小的 GUI,所以它不应该太侵入,所以任何关于如何确保它的想法,同时保持它不需要管理员权限来安装,也会有所帮助。
winapi - 从进程中删除管理员特权
在这篇很棒的MSDN 文章的帮助下,我的第一个想法是简单地检查进程是否使用提升的管理员组,并使用AdjustTokenGroups()
我将管理员组设置为SE_GROUP_USE_FOR_DENY_ONLY
. 不幸的是,我们无法修改当前运行进程的管理员组,因为它也具有SE_GROUP_MANDATORY
属性,这使得它无法更改。
MSDN 文档对此有这样的说法:
该AdjustTokenGroups
函数不能禁用结构中具有该SE_GROUP_MANDATORY
属性的组TOKEN_GROUPS
。改为使用CreateRestrictedToken
。
所以,我完成了以下代码来实现这一点;
但是新进程仍然以管理员身份运行,而不是以普通用户身份运行。
我该如何做到这一点?
c++ - 应用程序何时绝对需要以管理员身份运行?
一段时间以来,我一直在尝试与 UAC 很好地合作,我发现了一些事情:
- 启用 UAC 后,需要以管理员身份运行(例如通过嵌入式清单)的 Startup 文件夹中的程序无法根据此 Stack Overflow 线程运行。
HKLM or HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
在启动时运行程序的另一种方法是在 64 位机器或64 位机器中创建包含该应用程序路径的密钥HKLM or HKCU\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
。- 另一种方法是使用任务计划程序设置以最高权限运行选项。这是绕过第 1 点所述问题的唯一方法。
来自 Linux 背景,我对所有这些与管理员权限相关的问题一无所知。如果有人可以列出绝对需要管理员权限的场景,那将有很大帮助!
我问这个是因为当我开发一些应用程序时,我在实现过程中一直遇到一些问题,主要是因为我的应用程序需要管理员权限,而它不应该。
如果我在设计时知道所有可能需要管理员权限的场景,我可能会为我的所有应用程序设计一个通用服务来处理所有管理员任务(我认为服务是 Windows 的处理方式)。
c# - 对管理员权限的怀疑
我制作了一个 WPF 应用程序,它读取/写入其他进程的内存,大量使用注册表项,读取/写入磁盘上的文件以及从网站下载/部署文件。大声笑不,这不是木马,别担心:D
它是在 Framework 4.5 下编译的,因此它通常只与 Windows Vista 或更高版本兼容,并且要正常工作,它需要管理员权限。现在......为了以透明的方式授予它所需的所有权限,我发现了各种各样的可能性谷歌搜索。我觉得更简单的是:
1)在清单中插入以下代码:
2)检查UAC是否启用,如果用户没有管理员权限,如果是这样,询问用户是否要授予应用程序管理员权限。然后,如果答案是“是”,则使用以下命令运行提升的应用程序进程:
那么......处理这个问题的最佳方法是什么?
我还有一个问题。我的应用程序将在启动后从字节数组加载一个程序集,使用:
我的问题是......在上述代码片段(另一个 WPF 应用程序)中从内存加载的程序集是否具有加载它的应用程序的相同权限?如果现在,我应该如何再次处理管理员权限?
powershell - 以提升的权限运行 bat 文件和 powershell
所以我有一个 bat 文件:powershell -noexit "My\file\location\myscript.ps1"
bat文件在启动中。powershell 脚本更改 bcd。当以这种方式执行时,它说我没有权限,访问被拒绝,并且 bcd 中的任何内容都没有改变。
很抱歉成为新手,但有没有办法将提升的特权值从 bat 传递到 powershell 脚本?