亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

回聲框架,在哪一刻降級特權?

回聲框架,在哪一刻降級特權?

Go
一只斗牛犬 2022-09-05 10:58:06
我使用 echo 框架來創建我的 API 服務器。它由 systemd 啟動,默認情況下需要 root,以便獲取低于 1024 的端口。為了安全起見,我喜歡在 echo 框架獲取偵聽端口后降級 go 程序的權限。我知道如何降級,但我找不到合適的事件/回調?問題是,這不會回來。我可以創建一個并行線程,并嘗試找到回顯會話的一些狀態值,告訴我端口已打開,但我也找不到這樣的狀態指示。echo.Start()echo.StartAutoTLS()我如何確保在獲取端口后執行一些代碼(并確定)?到目前為止,我在創建服務器之前運行一個并行go線程,然后等待5秒鐘進行降級。到目前為止,它的工作原理是,但這是黑客,我不喜歡它:-(
查看完整描述

1 回答

?
DIEA

TA貢獻1820條經驗 獲得超3個贊

您可以使用 e.ListenerAddr() 來檢查端口是否打開。它將返回 nil,直到端口打開。


func degradePrivileges(e *echo.Echo, userName string) { 

    for { adr := e.ListenerAddr() if adr != nil { 

        degradeMe(userName) break 

    } 

    time.Sleep(100 * time.Millisecond) } 


查看完整回答
反對 回復 2022-09-05
  • 1 回答
  • 0 關注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號