在GO(v1.7)
該解決方案在於使用GO的網絡和系統呼叫功能的組合。打開特權端口並確定UID後,我們可以識別所需的用戶,獲取其UID,並使用glibc functions setGid()和setUID()和setUID()設置UID和GID。綁定端口後立即執行此代碼很重要,但是在調用http.serve。 提供的代碼段演示此方法很重要。它首先加載必要的TLS證書並在特權端口上聽。如果應用程序作為root運行,則通過使用GLIBC調用設置UID和GID來降級到指定的用戶。隨後,它會聽取傳入的請求並為Web內容提供服務。 此解決方案有效地解決了在GO應用程序中刪除特權的需求。它允許在不損害安全性的情況下創建安全且可靠的自定義網絡服務器。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3