linux普通用戶利用authbind綁定特權端口
在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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!