gpt4 book ai didi

security - 将 Golang 作为 www-data 运行

转载 作者:IT王子 更新时间:2023-10-29 01:48:45 24 4
gpt4 key购买 nike

当我运行一个 Node HTTP 服务器应用程序时,我通常会调用一个自定义函数

function runAsWWW()
{
try
{
process.setgid('www-data');
process.setuid('www-data');
} catch (err)
{
console.error('Cowardly refusal to keep the process alive as root.');
process.exit(1);
}
}

来自 server.listen(8080,'localhost',null,runAsWWW);

因此服务器实际上以 www-data 用户身份运行,以提供更好的安全性。当我通过发出 go run index.go 启动 Golang Web 服务器时,我可以做类似的事情吗?

最佳答案

没有。你不能在 go 中可靠地设置 setuid 或 setgid,因为这对多线程程序不起作用。

您需要以预期用户的身份启动程序,可以直接通过某种监管程序(例如 supervisord、runit、monit)或通过您的初始化系统启动。

关于security - 将 Golang 作为 www-data 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942322/

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