溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux服務器中如何使用加密文件系統(tǒng)

發(fā)布時間:2021-08-11 16:56:46 來源:億速云 閱讀:127 作者:Leah 欄目:系統(tǒng)運維

這期內容當中小編將會給大家?guī)碛嘘PLinux服務器中如何使用加密文件系統(tǒng),文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)建一個 AWS access key(access key ID 和 secret access key),S3QL 使用這些信息來訪問你的 AWS 帳號。

之后通過 AWS 管理面板訪問 AWS S3,并為 S3QL 創(chuàng)建一個新的空 bucket。
Linux服務器中如何使用加密文件系統(tǒng)

為最佳性能考慮,請選擇一個地理上距離你最近的區(qū)域。
Linux服務器中如何使用加密文件系統(tǒng)

在 Linux 上安裝 S3QL

在大多數 Linux 發(fā)行版中都有預先編譯好的 S3QL 軟件包。
對于 Debian、Ubuntu 或 Linux Mint:

   

代碼如下:

$ sudo apt-get install s3ql

對于 Fedora:

   

代碼如下:

$ sudo yum install s3ql

對于 Arch Linux,使用 AUR。
首次配置 S3QL

在 ~/.s3ql 目錄中創(chuàng)建 autoinfo2 文件,它是 S3QL 的一個默認的配置文件。這個文件里的信息包括必須的 AWS access key,S3 bucket 名,以及加密口令。這個加密口令將被用來加密一個隨機生成的主密鑰,而主密鑰將被用來實際地加密 S3QL 文件系統(tǒng)數據。

   

代碼如下:

$ mkdir ~/.s3ql
   $ vi ~/.s3ql/authinfo2</p> <p>    [s3]
   storage-url: s3://[bucket-name]
   backend-login: [your-access-key-id]
   backend-password: [your-secret-access-key]
   fs-passphrase: [your-encryption-passphrase]

指定的 AWS S3 bucket 需要預先通過 AWS 管理面板來創(chuàng)建。

為了安全起見,讓 authinfo2 文件僅對你可訪問。

   

代碼如下:

$ chmod 600 ~/.s3ql/authinfo2

創(chuàng)建 S3QL 文件系統(tǒng)

現在你已經準備好可以在 AWS S3 上創(chuàng)建一個 S3QL 文件系統(tǒng)了。

使用 mkfs.s3ql 工具來創(chuàng)建一個新的 S3QL 文件系統(tǒng)。這個命令中的 bucket 名應該與 authinfo2 文件中所指定的相符。使用“--ssl”參數將強制使用 SSL 連接到后端存儲服務器。默認情況下,mkfs.s3ql 命令會在 S3QL 文件系統(tǒng)中啟用壓縮和加密。

   

代碼如下:

$ mkfs.s3ql s3://[bucket-name] --ssl

你會被要求輸入一個加密口令。請輸入你在 ~/.s3ql/autoinfo2 中通過“fs-passphrase”指定的那個口令。

如果一個新文件系統(tǒng)被成功創(chuàng)建,你將會看到這樣的輸出:
Linux服務器中如何使用加密文件系統(tǒng)

掛載 S3QL 文件系統(tǒng)

當你創(chuàng)建了一個 S3QL 文件系統(tǒng)之后,下一步便是要掛載它。

首先創(chuàng)建一個本地的掛載點,然后使用 mount.s3ql 命令來掛載 S3QL 文件系統(tǒng)。

   

代碼如下:

$ mkdir ~/mnt_s3ql
   $ mount.s3ql s3://[bucket-name] ~/mnt_s3ql

掛載一個 S3QL 文件系統(tǒng)不需要特權用戶,只要確定你對該掛載點有寫權限即可。

視情況,你可以使用“--compress”參數來指定一個壓縮算法(如 lzma、bzip2、zlib)。在不指定的情況下,lzma 將被默認使用。注意如果你指定了一個自定義的壓縮算法,它將只會應用到新創(chuàng)建的數據對象上,并不會影響已經存在的數據對象。

   

代碼如下:

$ mount.s3ql --compress bzip2 s3://[bucket-name] ~/mnt_s3ql

因為性能原因,S3QL 文件系統(tǒng)維護了一份本地文件緩存,里面包括了最近訪問的(部分或全部的)文件。你可以通過“--cachesize”和“--max-cache-entries”選項來自定義文件緩存的大小。

如果想要除你以外的用戶訪問一個已掛載的 S3QL 文件系統(tǒng),請使用“--allow-other”選項。

如果你想通過 NFS 導出已掛載的 S3QL 文件系統(tǒng)到其他機器,請使用“--nfs”選項。

運行 mount.s3ql 之后,檢查 S3QL 文件系統(tǒng)是否被成功掛載了:

   

代碼如下:

$ df ~/mnt_s3ql
   $ mount | grep s3ql


 Linux服務器中如何使用加密文件系統(tǒng)

    卸載 S3QL 文件系統(tǒng)

想要安全地卸載一個(可能含有未提交數據的)S3QL 文件系統(tǒng),請使用 umount.s3ql 命令。它將會等待所有數據(包括本地文件系統(tǒng)緩存中的部分)成功傳輸到后端服務器。取決于等待寫的數據的多少,這個過程可能需要一些時間。

   

代碼如下:

$ umount.s3ql ~/mnt_s3ql

查看 S3QL 文件系統(tǒng)統(tǒng)計信息及修復 S3QL 文件系統(tǒng)

若要查看 S3QL 文件系統(tǒng)統(tǒng)計信息,你可以使用 s3qlstat 命令,它將會顯示諸如總的數據、元數據大小、重復文件刪除率和壓縮率等信息。

   

代碼如下:

$ s3qlstat ~/mnt_s3ql


    Linux服務器中如何使用加密文件系統(tǒng)

你可以使用 fsck.s3ql 命令來檢查和修復 S3QL 文件系統(tǒng)。與 fsck 命令類似,待檢查的文件系統(tǒng)必須首先被卸載。

   

代碼如下:

$ fsck.s3ql s3://[bucket-name]

S3QL 使用案例:Rsync 備份

讓我用一個流行的使用案例來結束這篇教程:本地文件系統(tǒng)備份。為此,我推薦使用 rsync 增量備份工具,特別是因為 S3QL 提供了一個 rsync 的封裝腳本(/usr/lib/s3ql/pcp.py)。這個腳本允許你使用多個 rsync 進程遞歸地復制目錄樹到 S3QL 目標。

   

代碼如下:

$ /usr/lib/s3ql/pcp.py -h

Linux服務器中如何使用加密文件系統(tǒng)

下面這個命令將會使用 4 個并發(fā)的 rsync 連接來備份 ~/Documents 里的所有內容到一個 S3QL 文件系統(tǒng)。

    

代碼如下:

$ /usr/lib/s3ql/pcp.py -a --quiet --processes=4 ~/Documents ~/mnt_s3ql

這些文件將首先被復制到本地文件緩存中,然后在后臺再逐步地同步到后端服務器。

上述就是小編為大家分享的Linux服務器中如何使用加密文件系統(tǒng)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI