非root用户使用1024以下端口

如果你有一个最新的内核,确实有可能使用它作为非root用户启动服务,但绑定低端口。最简单有效的办法是:

#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,将导致不能使用。

参考:

https://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-on-linux

LD_LIBRARY_PATH作用 https://www.douban.com/note/520942662/

端口转发、setuid,在root目录下启动应用 https://www.cnblogs.com/fatt/p/5019322.html

应用实例:

nginx配置文件,监听80端口

直接在非root用户下启动nginx服务,发现启动不了,提示非root用户没有使用80端口的权利。

使用setcap

在root用户下执行命令:

#setcap cap_net_bind_service=+eip

提示:注意文件的颜色变化

再次启动nginx服务:

注:如果不使用了,使用如下命令即可:

#setcap -r 文件名

  

原文地址:https://www.cnblogs.com/chenjunjie12321/p/9226279.html

时间: 2024-10-14 21:03:29

非root用户使用1024以下端口的相关文章

Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

一.安装JDK环境 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 64位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz 32位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-

使用非root用户启动tomcat

以下操作均为以root用户运行1.添加tomcat用户组 /usr/sbin/groupadd tomcat 2.添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/bash -g tomcat tomcat /usr/sbin/usermod -L tomcat #锁定密码,使密码无效 3.修改目录所有者: chown -R tomcat:tomcat /usr/local/tomcat 4.非root只能启动1024以上端口所以tomcat启动在8080端口

linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发

2010-07-17 13:21:42 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property. 2010-07-17 13:21:42  org.apache.catalina.core.Ap

tomcat非root用户启动443或80端口

非root用户没有权限使用1024以内的端口,tomcat默认是root启动,如果用普通用户启动,必须是1024以上的端口,不能使80或443 如果一定用到80或是443所以只能用iptables端口转发 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443 原文地址:https://www.cnblogs.com/wangdidi/p/11510986.html

非root用户安装软件

下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录,运行 ./configure.其选项可以通过 ./configure –help来获取,非root用户下最重要的应该是定义安装目录,即应该定义 ./configure –prefix=/path/to/bin, 对于一些依赖库,可能还需要

Centos6.3 下使用 Tomcat-6.0.43 非root用户 部署 生产环境

一.安装Tomcat 下载链接: http://mirrors.cnnic.cn/apache/tomcat/tomcat-6/v6.0.43/bin/apache-tomcat-6.0.43.zip http://apache.fayea.com/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.zip http://apache.fayea.com/tomcat/tomcat-8/v8.0.15/bin/apache-tomcat-8.0.15

MHA+非root用户SSH等效性配置

环境:CentOS5.8 MySQL5.5.17 实验:搭建MHA高可用架构(非root用户SSH等效性配置)SSH等效性用户配置的是:concert  端口:1314 MHA配置文件 [[email protected] mha]$ more /etc/masterha_default.cnf [server default] user          = root password      = mysql_admin ssh_user      = concert ssh_port   

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性.特点: Mysql是开源的,所以你不需要支付额外的费用.Mysql支持大型的数据库.可以处理拥有上千

Linux下非root用户安装软件的一般流程:

1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录,运行 ./configure.其选项可以通过 ./configure –help来获取,非root用户下最重要的应该是定义安装目录,即应该定义 ./configure –prefix=/path/to/bin, 对于一些依赖库,可能还需要使用 ./configure  –prefix=xxx –wi