linux下普通用户如何使用80端口启动程序

http://blog.csdn.net/shootyou/article/details/6750230

大家都知道默认情况下linux的1024以下端口是只有root用户才有权限占用,于是我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出permission denied的异常。

解决办法有两种:

1.使用非80端口启动程序,然后再用iptables做一个端口转发。

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
这个时候再启动就没问题了。
参考:http://bbs.chinaunix.net/thread-2212303-2-1.html

搭建lnmp的时候,nginx都是用root启动

nginx使用root启动,所以不需要担心不够权限写入日志

# ps aux|grep nginx
nobody    5672  0.0  0.2  26928  4132 ?        S    09:59   0:00 nginx: worker process                                          
root      6318  0.0  0.0   6384   676 pts/0    S+   10:10   0:00 grep --color nginx
root     27142  0.0  0.0  24444  1652 ?        Ss   Dec20   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

logs]# ll
total 3596
-rw-r--r-- 1 root root 3665218 Dec 23 10:05 access.log
-rw-r--r-- 1 root root    2667 Dec 23 09:59 error.log
-rw-r--r-- 1 root root       6 Dec 20 16:11 nginx.pid
-rw-r--r-- 1 root root    1178 Dec 20 16:11 nginx_error.log

cd sbin/
[root@VM_45_133_centos sbin]# ll
total 6476
-rwxr-xr-x 1 root root 3454420 Jan 25  2016 nginx
-rwxr-xr-x 1 root root 3166091 Jan 25  2016 nginx.bak

linux下普通用户如何使用80端口启动程序的更多相关文章

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

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

  2. linux下如何修改iptables开启80端口

    linux下如何修改iptables开启80端口   最近在做本地服务器的环境,发现网站localhost能正常访问,用ip访问就访问不了,经常使用CentOS的朋友,可能会遇到和我一样的问题.开启了 ...

  3. Linux下tomcat修改成的80端口无法访问

    转自: https://blog.csdn.net/u013252047/article/details/72834415 tomcat放到服务器上访问8080端口还需要输入端口号,造成访问不便,好多 ...

  4. 普通用户从非80端口启动tomcat,通过端口转发监听80端口

    linux下小于1024的端口都需要root去绑定. root权限启动tomcat是不明智的,可以使用非root权限启动tomcat监听8080端口,然后利用端口转发实现对80端口的监听. 端口转发: ...

  5. nginx 普通用户使用80端口启动nginx

    方法一: 依次执行如下命令 cd /usr/local/nginx/sbin/ chown root nginx chmod u+s nginx 优点是,方便简单,缺点是,既然sudo权限都不给了.这 ...

  6. linux下创建用户

    linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系 ...

  7. Linux 下监控用户最大进程数参数(nproc)是否到达上限

    Linux 下监控用户最大进程数参数(nproc)是否到达上限的步骤: 1.查看各系统用户的进程(LWP)数: 注意:默认情况下采用 ps 命令并不能显示出所有的进程.因为 Linux 环境下执行多线 ...

  8. linux下创建用户并且限定用户主目录

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号 一方面可以帮助系统管理员对使用系统的用户进 ...

  9. 【搬运工】linux下创建用户(一)

    转载:http://www.cnblogs.com/ylan2009/articles/2321177.html linux下创建用户(一) Linux 系统是一个多用户多任务的分时操作系统,任何一个 ...

随机推荐

  1. SpringMVC学习(一)

    Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分. Web MVC架构 1.用户发起request请求至控制器(Controller) 控制接收用户请求的数 ...

  2. UnrealEd3视图导航

    本博客使用的版本:2010-08   [更多其他的UE3版本]     [最新的UE3版本 -- 2015-02]  [unreal engine wiki]   注:dx11被加入2011-03月版 ...

  3. Spring中文文档-第一部分

    一. Spring 框架概述 Spring是为了构建企业应用的轻量级框架.然而,Spring是模块化的,允许你只是使用其中的一部分,不需要引入其他的.你可以在任何web框架上使用IoC容器,也可以只使 ...

  4. 使用samba实现linux与windows共享(测试成功)

    samba服务器搭建    实现linux与windows文件共享有很多种方法,诸如wpc,vmtools等,今天我来介绍我在rehat系统中实验成功并且现在在用的的方法,直接给出操作步骤:     ...

  5. jvm中的年轻代 老年代 持久代 gc

    虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generation).其中持久代主要存放的是Java类的类信 ...

  6. 10 Cookie/Session

    JSP/EL入门     * SUN提供了开发WEB资源的技术     Servlet/JSP              * response.getWriter().write();         ...

  7. ZZULI 1876: 蛤玮的项链 Hash + 二分

    Time Limit: 6 Sec  Memory Limit: 128 MBSubmit: 153  Solved: 11 SubmitStatusWeb Board Description 蛤玮向 ...

  8. eclipse调试solr

    eclipse调试solr 现在solr的源码包,我这里是4.10.2, 编译, ant ivy-bootstrap ant eclipse 导入elipse,将solr/example/solr/下 ...

  9. 【转】 Camera模仿3D效果的小例子(图片无限旋转)

    import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactor ...

  10. [转]RMAN检测数据库坏块

    backup validate check logical database; select * from v$database_block_corruption; RMAN> backup v ...