Centos

為什麼我需要將某些文件設置為執行檔?

  • March 10, 2016

上週之前我從未離開過 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存檔中(您只需要嘗試並查看) .

對於你原來的問題:

為什麼我需要將某些文件設置為執行檔?

這只是一種訪問控制措施。它為您提供了一種不讓文件自行執行的方法。例如,如果安裝程序的目錄樹包含最終的執行檔,但您希望使其無法執行安裝程序以外的任何內容。或者,如果您正在編寫一個腳本,但在完成之前不希望任何人執行它。

引用自:https://unix.stackexchange.com/questions/268698