Linux非root用户如何使用80端口启动程序

默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常。 

bind时perror提示错误信息:permission denied

解决办法有两种:  1.使用非80端口启动程序,然后再用iptables做一个端口转发。    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080    用root用户直接去执行就可以了!  2.假设我们需要启动的程序是nginx,那么这么做也可以达到目的。  一开始我们查看nginx的权限描述:  -rwxr-xr-x 1 nginx dev 2408122 Sep  5 16:01 nginx  这个时候必然是无法正常启动的。  首先修改文件所属用户为root:  chown root nginx  然后再加上s权限:  chmod u+s nginx  再次查看权限描述的时候:  -rwsr-xr-x 1 root root 2408122 Sep  5 16:01 nginx  这样就能启动了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

把windows2003“搬”到手机上。

我朋友专门为我做了一款 索爱手机 2003 r2 主题。  甚为喜欢。哈哈哈  和我的开发环境一样  。看图吧。 ? ? ? ? 附上下载地址  : htt...

1889
来自专栏专注数据中心高性能网络技术研发

如何解压RPM包

Mellanox的驱动源码在centos7下面是使用RPM包封装的,需要解压此格式的包来获取源文件 RPM包括是使用cpio格式打包的,因此可以先转成cpio然...

2525
来自专栏玄魂工作室

Hacker基础之Linux篇:基础Linux命令二

1. mv mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files)。 是Linux系统下常用的命令,经常用来备份文...

33810
来自专栏静下来

windows IIS7独立服务器下 Discuz伪静态设置

蛮多刚接触discuz程序的人,不太明白怎么设置伪静态。我也是看群里蛮多人在问,就根据我自己的服务器来说下。 因为我就一个windows2008 IIS7环境下...

2814
来自专栏容器云生态

Ansible基本配置以及使用示例

##Ansible基本使用以及模块详解 准备条件:注意:前提是ansible已经正常安装,并且可以使用 1.在ansible主机上创建ssh公私钥对 ansib...

2099
来自专栏程序员叨叨叨

Mac端如何反编译apk?

今天上班的时候,我的一位专于web安全的网友联系我,让我帮忙分析一款app的架构和运行方式。虽然之前没有弄过这一块,但是出于好奇,也希望在安卓相关方面多接触点陌...

715
来自专栏运维小白

Linux基础(day49)

12.6 Nginx安装 Nginx安装目录概要 cd /usr/local/src wget http://nginx.org/download/nginx-...

1696
来自专栏运维技术迷

LNMP无法删除.user.ini文件的解决方法

问题 [root@tokyo wwwroot]# rm -rf dl.lianst.com/ rm: cannot remove `dl.lianst.com/...

3318
来自专栏大壮

iOS 自动打包 - fastlane (二)

.env 是非常简单的配置文件,简单到什么程度呢? 它只支持一维K/V格式的配置项,而且 key 和 value 都只能是字符串。

621
来自专栏Strive

hive 初始化msyql报错 SQL Error code: 1045

搭建环境 | 系统:centos 7 | Hadoop: 3.4.12 | hive:2.3.3 | mysql:5.6.40

1071

扫码关注云+社区