gpt4 book ai didi

c# - 请求特权并在 Ubuntu Linux 中使用 C# 保留此权限

转载 作者:行者123 更新时间:2023-12-04 18:41:57 26 4
gpt4 key购买 nike

我正在编写一个工具,可用于管理 Ubuntu 上的虚拟主机和 Web 服务器。至于我需要特权的许多功能,我正在寻找实现这一点的方法。

目前我通过“gksu”或“gksudo”意识到这一点。这也有效。问题是提示用户进行任何需要特权才能输入密码的事件。
是否可以仅检索一次此密码并在程序的剩余时间内记住? 还有其他方法可以实现吗?

    public void OnToogledVirtualHost(object o, ToggledArgs args)
{
VirtualHost host = (VirtualHost)store.GetNode(new TreePath(args.Path));
host.Enabled = !host.Enabled;
Process process = new Process();
process.StartInfo.UseShellExecute = false;

if (host.Enabled)
{
process.StartInfo.FileName = "gksu";
process.StartInfo.Arguments = "a2ensite " + System.IO.Path.GetFileName(host.FilePath);
}
else
{
process.StartInfo.FileName = "gksu";
process.StartInfo.Arguments = "a2dissite " + System.IO.Path.GetFileName(host.FilePath);
}
process.Start();
}

最佳答案

AFAIK,“su”的一项安全功能是不缓存密码(更准确地说是身份验证票)超过几秒钟,因此设计为不被绕过。

您始终可以使用中间进程并尝试使子进程继承其授权,但您需要保护 IPC(工具前端和中间进程之间的通信 channel )。

所以我的建议是不要试图降低整体解决方案的安全性,所以让用户根据需要被询问多次......

关于c# - 请求特权并在 Ubuntu Linux 中使用 C# 保留此权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com