非root用户使用1024以下端口
#setcap 'cap_net_bind_service=+ep' /path/to/program
执行了该命令后,该文件程序将会具有CAP_NET_BIND_SERVICE功能,setcap在debian软件包libcap2-bin中,至于具体的功能感兴趣可以自己查阅。
现在要注意的是:
1. 您的内核版本至少为2.6.24
2.文件不能是脚本。也就是说你必须将CAP_NET_BIND_SERVICE功能应用到可执行文件本身,而不是脚本中指向的其他应用。如果赋予了该文件CAP_NET_BIND_SERVICE能力,其他应用滥用用这个文件就可能在安全性上造成隐患。
3.如果你的程序使用自己的... / lib /的共享库,而Linux将在任何具有像setcap或suid这样的特权提升的程序上禁用LD_LIBRARY_PATH,将导致不能使用。
参考:
LD_LIBRARY_PATH作用 https://www.douban.com/note/520942662/
端口转发、setuid,在root目录下启动应用 https://www.cnblogs.com/fatt/p/5019322.html
应用实例:
nginx配置文件,监听80端口


#setcap cap_net_bind_service=+eip


#setcap -r 文件名
非root用户使用1024以下端口的更多相关文章
- Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境 端口转发方式
一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...
- Linux非root用户如何使用80端口启动程序
默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindExce ...
- nginx反向代理 强制https请求 + 非root用户起80,443端口
1. #强制使用https跳转 return 301 https://$server_name$request_uri;rewrite ^(.*)$ https://${server_name}$1 ...
- Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp
一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...
- 使用非root用户启动tomcat
以下操作均为以root用户运行1.添加tomcat用户组 /usr/sbin/groupadd tomcat 2.添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/ ...
- linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发
2010-07-17 13:21:42 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{ ...
- 如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China
如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China 如何以非 root 用户将应用绑定到 80 端口-ssh 篇
- 非root用户安装软件
下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...
- zzw原创_非root用户下安装nginx
想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...
随机推荐
- junit里面Test Case的执行顺序
这里讨论的是junit在ant运行的情况,其他build工具应该也适用,但具体没试验过. 首先运行junit时是按照脚本中文件夹的顺序执行,如下脚本会先执行test1目录下的测试,其实是test2目录 ...
- BigDecimal 、BigInteger
package com.BigDecimal; public class BigDecimalDemo { /* * 下面的运算的结果出乎我们的意料,有些准确,有些不准确 * 这是为什么呢? * 我们 ...
- 《转》深入理解Activity启动流程(一)–Activity启动的概要流程
本文原创作者:Cloud Chou. 原文地址:http://www.cloudchou.com/android/post-788.html Android中启动某个Activity,将先启动Acti ...
- Beta阶段第2周/共2周 Scrum立会报告+燃尽图 10
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2411] 版本控制:https://git.coding.net/liuyy08 ...
- PostgreSQL查询长连接
apple=# select pid, backend_start, xact_start, query_start, waiting, state, backend_xid from pg_stat ...
- hadoop2.x常用端口及定义方法
Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...
- POI加dom4j将数据库的数据按一定格式生成word文档
一:需求:将从数据库查处来的数据,生成word文档,并有固定的格式.(dom4j的jar包+poi的jar包) 二:解决:(1)先建立固定格式的word文档(2007版本以上),另存成为xml文件,作 ...
- web程序1
- 固件_Linux内核
1.相关函数 .相关函数 int request_firmware_nowait( struct module *module, bool uevent, const char *name, stru ...
- 基于typescript 强大的 nestjs 框架试用
nestjs 一个nodejs 的graphql 框架 安装 npm i -g @nestjs/cli 初始化项目 nest new dalong 运行demo 使用yarn yarn start 添 ...