我需要找到一种从.net核心web应用程序执行sudo dansguardian -r的方法。我对linux不是很熟悉,所以任何与在c#中运行上面的命令具有相同效果的工作都是可以接受的。我基本上需要dansguardian来重新加载配置文件后,他们已经从一个asp网络应用程序编辑。但我认为sudo需要凭据,所以我如何传递这些凭据?
为表达了安全顾虑的人编辑。该web应用程序是供管理员使用的。用户可以从web ui执行的所有操作都应该已经能够使用putty和ssh手动执行。
发布于 2018-01-08 10:43:17
通过web应用程序传递管理员凭据不是一个好主意(例如:糟糕的安全实践)。
更好的方法是创建一个仅执行所需操作的命令(或脚本),然后使用setuid为该管理员提供特权。然后,标准用户可以在不使用sudo的情况下运行该命令,从而避免了整个凭据问题。
请注意,命令/脚本需要仔细设计和实现,以便不会被滥用。
发布于 2018-01-08 13:03:59
将www-data ALL=NOPASSWD: /usr/sbin/dansguardian添加到使用visudo的sudoer列表中,允许我使用c# .net内核执行sudo dansguardian -r。
我理解给予Apache服务器许多特权的后果,但是Apache服务器没有访问web的权限,所有这些都是特定管理员组的内部权限。
https://stackoverflow.com/questions/48142643
复制相似问题