linux普通用户利用authbind绑定特权端口
博客专区 > China_OS 的博客 > 博客详情
linux普通用户利用authbind绑定特权端口
China_OS 发表于4年前
linux普通用户利用authbind绑定特权端口
  • 发表于 4年前
  • 阅读 2908
  • 收藏 45
  • 点赞 5
  • 评论 5

新睿云服务器60天免费使用,快来体验!>>>   

摘要: authbind - bind sockets to privileged ports without root

      在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账号可以访问,否则绑定失败。


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 393
博文 379
码字总数 482693
评论 (5)
anglix
不错,Java的jsvc也有这个作用。
W_Lu
居然可以做到用户绑定,粒度控制有进一步了!
晒太阳的小猪
2
自主创新
普通用户都在用windows - -
小运
79
×
China_OS
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: