Linux普通用戶(hù)利用authbind綁定特權(quán)端口
在Linux上普通用戶(hù)無(wú)法綁定1024以下的端口,不過(guò)總是會(huì)碰到一些特殊情況,比如遇到最多的就是普通用戶(hù)程序要監(jiān)聽(tīng)80端口,有很多方法可以實(shí)現(xiàn),之前常用的就是使用sudo給予普通用戶(hù)一定的權(quán)限,不過(guò)總感覺(jué)sudo控制起來(lái)不是很方便,最近發(fā)現(xiàn)ubuntu下面有一款小程序authbind可以實(shí)現(xiàn)該功能,且配置起來(lái)也方便。
authbind允許程序不使用root權(quán)限來(lái)綁定系統(tǒng)1024以下的特權(quán)端口,你必須使程序調(diào)用authbind,authbind會(huì)調(diào)用一些環(huán)境變量,來(lái)允許你的程序綁定在特權(quán)端口。
Ubuntu 12.04安裝authbind
- apt-get install authbind
怎樣使用authbind呢?通過(guò)配置文件區(qū)域來(lái)使用了,默認(rèn)的配置文件區(qū)域在/etc/authbind目錄下,里面有三個(gè)目錄:byport、byaddr、byuid。
假如我們有個(gè)test賬號(hào),想運(yùn)行一個(gè)程序綁定80端口
在byport目錄下建立80文件:/etc/authbind/byport/80,設(shè)置test賬戶(hù)有80文件的使用權(quán)限,如果80文件可以被test訪問(wèn),則綁定就是成功的,否則綁定就是失敗的。
具體操作:
- chmod 755 /etc/authbind/port/80
- chown test.test /etc/authbind/port/80
在你要啟動(dòng)的命令前加上authbind --deep命令即可。
我們也可以直接在地址上綁定端口,在byaddr下建立ip:port文件,測(cè)試方法如上。也可以在byuid目錄下建立uid文件,只要你的test賬號(hào)可以訪問(wèn),否則綁定失敗。