我需要找到一种从.net核心网络应用程序执行sudo dansguardian -r
的方法。我对linux并不熟悉,所以任何与c#运行上述命令具有相同效果的工作都是可以接受的。我们基本上需要dansguardian在从asp网络应用程序编辑后重新加载配置文件。但我相信sudo会需要凭据,所以如何传递这些凭证?
编辑表达安全问题的人员。该网络应用程序供管理员使用。用户可以从网上做的所有事情,他应该已经能够使用putty和ssh手动完成了。
答案 0 :(得分:2)
使用Web应用程序传递管理员凭据不是一个好主意(即:糟糕的安全措施)。
更好的方法是创建一个只执行所需操作的命令(或脚本),然后使用setuid授予此管理员权限。然后,标准用户可以在不使用sudo的情况下运行该命令,这可以避免整个凭据问题。
请注意,需要仔细设计和实现命令/脚本,以免误用。
答案 1 :(得分:0)
使用visudo将www-data ALL=NOPASSWD: /usr/sbin/dansguardian
添加到sudoers列表允许我使用c#.net核心执行sudo dansguardian -r
。
我理解为Apache服务器提供多少权限的后果,但是Apache服务器无权访问Web是特定管理组内部的。