zoukankan      html  css  js  c++  java
  • 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次作业
    第四次作业
    第三次作业
    第二次作业
    第一次作业
    第零次作业
    第四次软件工程作业
  • 原文地址:https://www.cnblogs.com/guigujun/p/6227261.html
Copyright © 2011-2022 走看看