linux非root用戶如何用80端口啓動程序

默認狀況下Linux的1024如下端口是隻有root用戶纔有權限佔用,咱們的tomcat,apache,nginx等等程序若是想要用普通用戶來佔 用80端口的話就會拋出java.net.BindException: Permission denied:80的異常。

解決辦法有兩種:

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

這樣就能啓動了。java

相關文章
相關標籤/搜索