• linux普通用户使用1024以下的端口(80)


    linux对于非root权限用户不能使用1024以下的端口,对于一些服务,过高的权限,会带来一定的风险。那么对于低权限的用户如何对外开放1024以下的端口。我这里找到几种办法并且亲测可行
    首先搭建环境centos7 账户tengine没有sudo 权限

    1.nginx 等软件做反向代理

    反向代理不说了。网上以查到

    2.iptables端口转发

    首先程序绑定1024以上的端口,然后root权限下做转发注意有些系统需要手动开启IP FORWARD功能

    vi /etc/sysctl.conf
    #修改
    net.ipv4.ip_forward = 1
    #重新加载
    sysctl -p /etc/sysctl.conf

    3. setuid

    root账户下执行

    chown root:root nginx
    chmod 4755 nginx

    suid
    从图片可以看出来nginx可以运行,但是主进程仍然是以root权限运行,这样并不安全。

    4.CAP_NET_BIND_SERVICE

    从 2.1 版本开始,Linux 内核有了能力的概念,这使得普通用户也能够做只有超级用户才能完成的工作,这包括使用端口。

    获取CAP_NET_BIND_SERVICE能力,即使服务程序运行在非root帐户下,也能够banding到低端口。使用的方法:
    root账户下执行

    setcap cap_net_bind_service=+eip /home/tengine/nginx/tengine/sbin/nginx
    

    切换到tengine账户下
    信息如下

    [root@centos7 sbin]# setcap cap_net_bind_service=+eip /home/tengine/nginx/tengine/sbin/nginx
    [root@centos7 sbin]# su tengine
    [tengine@centos7 sbin]$ stat nginx
      文件:"nginx"
      大小:6054330         块:11832      IO 块:4096   普通文件
    设备:fd00h/64768d      Inode:397136      硬链接:1
    权限:(0755/-rwxr-xr-x)  Uid:( 1001/ tengine)   Gid:( 1001/ tengine)
    最近访问:2016-10-11 18:43:05.402239835 +0800
    最近更改:2016-10-11 18:25:47.273183401 +0800
    最近改动:2016-10-11 18:48:23.084257104 +0800
    创建时间:-
    [tengine@centos7 sbin]$ ./nginx
    [tengine@centos7 sbin]$ ps -aux| grep nginx
    tengine  18014  0.0  0.1  45500  1124 ?        Ss   18:49   0:00 nginx: master process ./nginx
    tengine  18015  0.0  0.1  45960  1596 ?        S    18:49   0:00 nginx: worker process
    tengine  18017  0.0  0.0 112664   984 pts/0    R+   18:49   0:00 grep --color=auto nginx
    [tengine@centos7 sbin]$
    

    cap_net_bind_service

    最后别忘记怎么清除这个能力

     setcap -r nginx
  • 相关阅读:
    java代码连接数据库
    phpcms v9 读取地区联动菜单缓存文件
    PHPCMS V9二次开发便捷自定义后台入口文件夹
    phpcms v9中模板标签使用及联动菜单
    Phpcms v9系统类库与函数库调用方法
    phpcms v9 二次开发
    phpcms v9开源开发框架基础mvc解读
    phpcms插件开发初步规范
    phpcms v9二次开发之模型类的应用(1)
    phpcms v9二次开发之模型类的应用(2)
  • 原文地址:https://www.cnblogs.com/qianzf/p/7606191.html
Copyright © 2020-2023  润新知