linux-如何以“正确的方式”将低编号的端口声明为非根端口
作者:互联网
我有一个脚本,希望它作为守护程序在低号端口(<1024)上侦听运行 脚本在python中,尽管在perl中的答案也是可以接受的.
该脚本正在启动脚本中使用start-stop-daemon进行守护,这可能会使答案复杂化
我真正想要的是键入ps -few,然后看到该进程在其行上带有“ root”的情况下运行.
我该怎么做?
(从我对系统调用的了解不足,我可以看到3条途径,
>以超级用户身份运行脚本(没有–user /-group /-chuid来启动start-stop-daemon),并在声明该端口后使其降级为用户
>在脚本上设置Setuid根目录(chmod us),然后以运行用户身份运行脚本(通过–user /-group /-chuid进入start-stop-daemon,仍然必须以root身份启动启动脚本),在脚本中获取root特权,声明端口,然后恢复为普通用户
>我不知道的其他事情
)
解决方法:
“您不了解的东西”是“功能”,但是如上所述,elsewhere功能在使用shebang方法的脚本中不能很好地发挥作用,因此这里没有太多答案.我会使用“绑定端口,然后删除特权”方法.
标签:setuid,daemon,privileges,linux,port 来源: https://codeday.me/bug/20191024/1918279.html