我如何知道在 Linux 系統上放置伺服器檔案的標準位置是什麼?

我如何知道在 Linux 系統上放置伺服器檔案的標準位置是什麼?

我剛開始做自己的託管,似乎通常有選擇文件位置的常見做法。

例如,我發現這個網站這表示儲存 SSL 憑證的標準位置因發行版而異:

Linux 為所有內容都有指定的目錄。您已經熟悉 /var、/etc 以及其他屬於檔案系統層次結構標準 (FHS) 一部分的目錄。

好吧,你猜怎麼著,還有一個指定的位置可以儲存 SSL 憑證。

烏班圖: /etc/ssl/certs/

CentOS: /etc/pki/tls/certs/

這些位置是否有更正式的記錄?我正在想「常見關鍵檔案的 Ubuntu 標準檔案位置」之類的東西。

我讀這個問題,而且有時似乎沒有標準。但這篇文章似乎另有說法,至少在涉及某些文件時是如此。

也許相關的是 nginx 配置文件夾的不同佈局方式(配置文件保存在conf.d某些發行版和sites-available其他發行版上。這些差異到底從何而來?據我所知,nginx 是一個發布的單一應用程式由一個組織。

答案1

沒有權威規定文件到底該放在哪裡。閱讀任何文件:如何指南、參考手冊,並查看軟體包安裝的任何看起來像設定檔的內容。

很久以前就有人開始建立支援 https 的 nginx,並且他們的打包決策在大量文件中重複出現。對系統上的每個套件重複此操作,這會建立一組關於事物所在位置的約定。

認識到即使是相同的原始程式碼也可以經過大量修改並且仍然有效。設定檔、新增至支援腳本、非上游程式碼補丁、編譯時選項。並不理想,但這些差異確實存在。

Red Hat/CentOS 和 Debian/Ubuntu 都作為一個大捆綁包提供了一個基於 Mozilla 工作的 ca 證書包。但除了系統 PKI 目錄不同之外,更新捆綁包的工具也不同。 Debian 有更新 ca 證書這是基於 openssl 的,而 EL 有更新 ca-trust它將其抽象化為帶有二進位檔案的 p11-kit 庫trust

PKI 是一個相當普遍的問題,因此將憑證放在其他地方是很常見的並且是可以接受的。 Web 伺服器的憑證沒有必要儲存在系統儲存中。Debian 手冊的 httpd 配方表明了這一點:如果可用的話,不妨使用 Let's Encrypt 證書,默認情況下這些證書位於/etc/letsencrypt/.

相關內容