重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
要充分理解本文,必須具備Windows 環境下桌面應用程序的工作經驗,我認為讀者對如何使用 Linux 桌面有一個基本的了解。使用一個運行的 Linux 計算來機探討本文的概念和示例是很有幫助的。
普蘭網站建設公司成都創新互聯公司,普蘭網站設計制作,有大型網站制作公司豐富經驗。已為普蘭近千家提供企業網站建設服務。企業網站搭建\外貿網站制作要多少錢,請找那個售后服務好的普蘭做網站的公司定做!
有時候第一次在 Linux 上運行一個應用程序需要一點額外工作。有些應用程序,比如服務器服務,可能無法安裝為服務,因此您需要從命令行啟動這些應用程序。對于啟動這些應用程序的用戶帳戶而言,需要在應用程序文件中設置執行許可標志 (x)。
Linux 在內核空間或用戶空間運行進程。用戶空間 是操作系統的區域,應用程序通常在此運行。簡單地說,每個用戶帳戶有其自己的用戶空間,應用程序在這個領域內運行。
默認情況下,只有 root 用戶有權訪問內核空間。root 用戶 是 Linux 中的超級用戶,相當于 Windows 中的管理員帳戶。在 root 用戶帳戶下運行應用程序可能會引起安全風險,是不可取的。
很多服務器服務需要 root 權限啟動服務。然而,服務啟動后,root 帳戶通常會將其移至服務帳戶。嚴格地說,Linux 中的服務帳戶 才是標準的用戶帳戶。主要區別是服務帳戶僅用于運行一個服務,而不是為任何實際登錄的用戶準備的。
您可以使用 chmod 命令在一個文件中設置執行權限。在 Linux 中,umask 設置通常用來防止下載的文件被執行,也有充分的理由相信,因為它有助于維護 Linux 計算機的安全性。
大多數 Linux 發行版具有一個值為 022 的 umask 設置,這意味著,默認情況下一個新文件權限設置為 644。權限的數字表示形式采用讀 (4)、寫 (2)、執行 (1) 的格式。因此,默認權限為 644 的應用程序下載意味著文件所有者有讀寫權限,而組用戶和其他用戶只有讀權限。
例如,為每個人賦予一個文件的執行權限,使用 chmod a+x 命令。a 表示所有人,加號 (+) 表示添加,而 x 表示執行。同樣地,如果應用程序是一個服務器服務,您應該確保只有授權帳戶才有權執行此服務。
如果一個應用程序能夠在標準用戶帳戶權限下運行,但只有特定組中的用戶才需要使用它,您可以將該組所有者權限設置為可執行,然后將這些用戶添加到該組中。
更具體地說,您可以在一個可執行文件中設置訪問控制列表 (ACL) 權限,賦予特定用戶或組權限來運行該應用程序。使用 setfacl 實用工具設置 ACL 權限。
對于這些需要以 root 用戶啟動進程的應用程序,比如服務器服務,您有幾個選擇。總結了允許用戶執行需要 root 權限的服務器服務的各種選項。
作為 root 用戶 不推薦用于服務器服務。當用戶已經知道 root 密碼而且應用程序泄露不是首要關注問題時,可用于應用程序。
SetUID 由于安全問題,不推薦使用。SetUID 允許標準用戶以另一個用戶方式,比如 root 用戶,執行一個文件。
sudo 很常用,并且被認為是一個很好的實踐。sudo 授予一個用戶或組成員權限以執行可能額外需要 root 權限的文件。該用戶不需要知道 root 密碼。
帶有文件權限的標準用戶帳戶 在一個文件上為用戶所有者、組所有者或其他人(所有人)設置執行權限。這是授予那些不需要 root 權限來執行應用程序的用戶的常用方法。
帶有 ACL 權限的標準用戶帳戶 使用較少,但是如果您不想授予一個用戶 sudo 訪問或者更改文件的權限,這也是一個可行的解決方案。在一個文件上使用 setfacl 命令,您可以授予一個特定用戶或用戶組執行該文件的權力。
在管理 Linux 服務器時,從命令行運行應用程序是一項基本的任務。很多應用程序使用 shell 腳本(類似于 Windows 批處理文件 .bat)來啟動應用程序并執行其他任務,比如設置變量以及為其他用戶分配進程。例如,應用程序可能需要一個 Java? Virtual Machine (JVM) 來執行。那樣的話,shell 腳本可以設置適當的環境變量,然后執行 Java 命令來運行 Java Archive (JAR) 或類文件。這同樣適用于使用 Perl、Python、甚至 C# 的應用程序。(當然,C# 編譯的應用程序可以在 Linux 上運行)
從命令行或者 shell 提示符執行應用程序的一個常用方法是使用 ./ 命令。如果您在 Linux 中使用句號 (.) 和正斜杠 (/),就意味著告訴環境您想要以可執行文件運行該文件。例如,運行一個名為 myapp 的可執行文件,您可以使用 ./myapp 命令。同樣地,您可以在文件名之前加上語言環境,比如:
sh php python perl java
但更多情況下,套裝應用程序使用 shell 腳本,以 #! 符號設置環境變量提供該語言的運行時可執行路徑,比如 #!/usr/bin/python。您也應該熟悉這種方法。
清單 1 使用 catalina.sh 默認腳本通過 ./ 方法啟動 Apache Tomcat 應用程序服務器。然后,使用 sh 方法啟動服務器。因為默認端口是 8080,標準用戶不需要對其進行特別修改就可以啟動該服務。
編寫好的shell腳本(如:test),可以采取兩種方式進行運行:\x0d\x0a一、 $ sh test\x0d\x0a一般不采用這種調用方式,尤其不采用“shtest”的調用方式,因為這種方式將禁止shell讀取標準輸入。\x0d\x0a也可以采用 $ ksh test\x0d\x0a這種方式要求shell具有“可讀”的訪問權限。\x0d\x0a二、直接運行可執行的shell腳本之前,首先應使用下列chmod命令,把shell腳本文件設置為可執行的文件。\x0d\x0achmod 755 test(除文件屬主可寫之外,每個用戶均具有讀和可執行的訪問權限)\x0d\x0achmod +rx test(同上)\x0d\x0achmod u+rx test(只有文件屬主具有讀和執行的訪問權限)\x0d\x0a按照上述要求設置shell腳本文件的訪問權限后,可采用下列方式,直接運行shell腳本了。\x0d\x0a1、test(如果命令檢索路徑包含當前目錄)\x0d\x0a2、./test(如果命令減縮路徑不包含當前目錄)\x0d\x0a*說明: sh test 方式調用一個shell叫蹦可能會禁止某些shell特定的擴展功能,因而可能引起腳本無法正確執行。
linux系統常用命令很熟悉。日志文件中,定位用戶請求:
1、進入文件后,輸入斜線。
2、直接輸入搜索的內容,回車即可,此時可以:G,定位到END。
3、N:向上查找。
4、n:向下查找.