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
這樣就能啟動了。
相關推薦
Linux非root使用者如何使用80埠啟動程式
預設情況下Linux的1024以下埠是隻有root使用者才有許可權佔用,我們的tomcat,apache,nginx等等程式如果想要用普通使用者來佔用80埠的話就會丟擲java.net.BindException: Permission denied:80的異常。 bin
linux 非root啟動低埠方式
在非root使用者下執行低埠的方法 1、使用iptables 轉發 埠 2、authbind 3、jsvc 針對tomcat 4、CAP_NET_BIND_SERVICE 只可以運用到可執行檔案本身 # 待續
幸運28平臺租用與Linux非root
所有 服務 3.1 native 程序 dev apach com 找到 1.安裝jdk與tomcat 安裝目錄為/usr/local/apache-tomcat-8.0.52 步驟略 2.創建用戶 tomcat並設置其不可登錄 其命令 #useradd -s /usr/s
Linux下Tomcat配置80埠 - 80指向8080埠 (測試可用)
1.重將Tomcat的埠(server.xml)由80改回8080。 2 2. 通過Iptables埠實現80到8080的轉發,命令為:iptables -t nat -A PREROUTING -p tcp --dpor
Linux非root使用者安裝python
一句即可: pip install opencv-contrib-python opencv-python 簡單粗暴,如果要自己編譯,則需要sudo許可權。這句可以不用許可權,就能直接安裝上
Linux系統Tomcat使用80埠對映到8080埠的方法
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 -t nat : 指出我要操作什麼表.(不寫就表示filter.預設是filter) -A PR
Linux(CentOS6.8) 開放80埠3306埠6379埠,配置防火牆命令
vim 開啟配置檔案: 編輯防火強配置檔案 vim /etc/sysconfig/iptables 1.只對本機和126.212.173.185開放6379埠,其他ip用telnet是無法連線的,
Linux下Tomcat使用80埠
應用場景 很多情況下,我們在linux伺服器上安裝了tomcat或者nginx之類的軟體. 當我們想用80埠的時候,如果不用root使用者啟動就會報錯. 這是因為,對於lin
linux根據程序號PID查詢啟動程式的全路徑(程式實現根據PID程序號得到程序名字或根據程序名字取得程序號)
sam9x25-linux login: root Password: [email protected]:~ cd app [email protected]:~/app ps PID TTY TIME CMD 749 tt
linux 非root使用者安裝 jdk 和 tomcat
四、部署 tomcat1、將apache-tomcat-6.0.20.tar.gz上傳到伺服器上 2、解壓檔案,出現目錄 apache-tomcat-6.0.20 [[email protected]_test ~]$ tar zxvf apache-tom
linux非root下安裝CUDA
1.首先檢視自己系統的資訊 uname -a lsb_release -a 這是我們的資訊 於是根據版本來然後去官網選擇對應版本下載,cuda 安裝成功後用winscp上傳檔案到伺服器 2.安裝cuda (1)在檔案目錄下執行, bash+檔名 bash
Linux配置防火牆 開啟80埠的方法
在虛擬機器裡裝了nginx+mysql+php,虛擬機器裡的桌面可以訪問, netstat -ntlp | grep 80lsof -i:80 也有對應的埠資訊。 但是虛擬機器外面通過ip訪問卻訪問不了。iptables -L -n 檢視防火牆設定,發現沒有開啟80埠。
linux非root使用者切換到root使用者
1)如果想一直使用root許可權,要通過su切換到root使用者那我們首先要重設定root使用者的密碼:sudo passwd root這樣就可以設定root使用者的密碼了。2)之後就可以自由的切換到root使用者了su輸入root使用者的密碼即可。su "king" 或者
Linux非root使用者安裝MySQL
1.下載MYSQL原始碼:選擇最後一項“Source Code”2.解包: $tar zxvf mysql-5.0.67.tar.gz $cd mysql-5.0.67 3.編譯:5.1及之前版本用configure進行編譯,5.1之後的版本用cmake進行編譯。這裡安
linux根據程序號PID查詢啟動程式的全路徑
工作環境中遇到網路不正常,檢測是某伺服器異常往外發送資料包,使用netstat命令檢視,發現有程式.IptabLex的這個程序狀態為異常連線.無法有效清除,因此想知道是哪個目錄的此程式處於僵死狀態. [[email protected] /]# n
linux非root使用者下安裝軟體,搭建生產環境
之前的用實驗室的伺服器,因為某些原因,使用的使用者沒有root許可權。linux的非root使用者很多軟體無法安裝,非常的不方便。我的方法是使用brew來代替系統的包管理工具。brew是最先用在mac上的包管理工具,可以將所有的包託管在user本地的環境內。下面的文件中執行的時候記得將使用者名稱改成自己的。
linux指定某非root用戶執行開機啟動項的方法(gogs git)
inux sharp har 登錄 末尾 啟動項 oot brush amp 以linux指定git用戶在linux開機時執行啟動gogs git為例: 以root登錄linux 執行vi /etc/rc.d/rc.local 在文檔末尾添加一行語句:s
Udev規則及Linux下非root使用者使用串列埠的許可權設定
系統 Ubuntu 16.04 LTS Linux下的裝置使用都需要使用sudo或root使用者才能開啟,為了能讓普通使用者也能使用串列埠,有以下兩種方法: 1、可以增加udev規則來實現,具體方法如下: sudo vim /etc/udev/rules.
【linux】ubantu下Apache無法啟動(80埠被佔用)
本來今天回來想晚會bootstarp的,但是發現ubantu下80埠被佔用,apache無法啟動,很是蛋疼! 索性又學裡一招,檢視80埠被哪個貨佔用裡哈哈哈哈! 開啟終端輸入netstat -lnp|
關於虛擬機器VM中的Linux啟動Nginx時出現80埠被佔用問題的解決
我用的虛擬機器是VM,Linux版本是CentOS6.3。在安裝完Nginx之後,準備啟動Nginx服務。 切到目錄: [[email protected] ~]# cd /usr/local/nginx/sbin [[email protected