linux普通用戶利用authbind綁定特權端口

jopen 10年前發布 | 10K 次閱讀 Linux

      在linux上普通用戶無法綁定1024以下的端口,不過總是會碰到一些特殊情況,比如遇到最多的就是普通用戶程序要監聽80端口,有很多方法可以實現,之前常用的就是使用sudo給予普通用戶一定的權限,不過總感覺sudo控制起來不是很方便,最近發現ubuntu下面有一款小程序authbind可以實現該功能,且配置起來也方便。

     authbind允許程序不使用root權限來綁定系統1024以下的特權端口,你必須使程序調用authbind,authbind會調用一些環境變量,來允許你的程序綁定在特權端口。

ubuntu12.04安裝authbind

apt-get install authbind

     怎樣使用authbind呢?通過配置文件區域來使用了,默認的配置文件區域在/etc/authbind目錄下,里面有三個目錄:byport、byaddr、byuid。

假如我們有個test賬號,想運行一個程序綁定80端口

      在byport目錄下建立80文件:/etc/authbind/byport/80,設置test賬戶有80文件的使用權限,如果80文件可以被test訪問,則綁定就是成功的,否則綁定就是失敗的。

具體操作:

chmod 755 /etc/authbind/port/80
chown test.test /etc/authbind/port/80

     在你要啟動的命令前加上authbind --deep命令即可。


     我們也可以直接在地址上綁定端口,在byaddr下建立ip:port文件,測試方法如上也可以在byuid目錄下建立uid文件,只要你的test賬號可以訪問,否則綁定失敗。

來自:http://my.oschina.net/leejun2005/blog/186417


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!