Centos
為什麼我需要將某些文件設置為執行檔?
上週之前我從未離開過 Windows,我被要求製作一個帶有 elasticsearch/logstash/kibana/jdk8 的 VM。
我正在使用普通的非 sudoer 使用者。
我提取了每個 tar.gz 文件並得到了 4 個文件夾。
首先要啟動彈性搜尋,我必須使用 chmod +x 使“elastisearch”文件可執行。然後它失敗了,因為其他文件需要是可執行的。然後它失敗了,因為 java JDK 的 bin 文件夾中的一些文件需要是可執行的。
還有其他方法可以在 linux 上安裝東西嗎?還是每次都是關於“讓我們看看我需要chmod哪個文件”的遊戲?
謝謝。
PS:我使用的是 CentOs 7
還有其他方法可以在 linux 上安裝東西嗎?還是每次都是關於“讓我們看看我需要chmod哪個文件”的遊戲?
是的,它被稱為使用本機包管理器的供應商,它解決了與發佈軟體相關的一系列問題,包括權限。一些 ISV 只是習慣於“管理員會想辦法”成為標準期望。在某些情況下,您必須這樣做,但如果他們只是遵守工作流程,那麼很多問題已經得到解決。
在您的特定情況下,您可能沒有
p
為您的tar
命令指定選項,該選項會指示它保留對結果文件的文件權限,如果它們首先包含在tar
存檔中(您只需要嘗試並查看) .對於你原來的問題:
為什麼我需要將某些文件設置為執行檔?
這只是一種訪問控制措施。它為您提供了一種不讓文件自行執行的方法。例如,如果安裝程序的目錄樹包含最終的執行檔,但您希望使其無法執行安裝程序以外的任何內容。或者,如果您正在編寫一個腳本,但在完成之前不希望任何人執行它。