這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Linux服務(wù)器中如何使用加密文件系統(tǒng),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
在滿城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站制作,滿城網(wǎng)站建設(shè)費(fèi)用合理。
創(chuàng)建一個(gè) AWS access key(access key ID 和 secret access key),S3QL 使用這些信息來訪問你的 AWS 帳號(hào)。
之后通過 AWS 管理面板訪問 AWS S3,并為 S3QL 創(chuàng)建一個(gè)新的空 bucket。
為最佳性能考慮,請(qǐng)選擇一個(gè)地理上距離你最近的區(qū)域。
在 Linux 上安裝 S3QL
在大多數(shù) Linux 發(fā)行版中都有預(yù)先編譯好的 S3QL 軟件包。
對(duì)于 Debian、Ubuntu 或 Linux Mint:
代碼如下:
$ sudo apt-get install s3ql
對(duì)于 Fedora:
代碼如下:
$ sudo yum install s3ql
對(duì)于 Arch Linux,使用 AUR。
首次配置 S3QL
在 ~/.s3ql 目錄中創(chuàng)建 autoinfo2 文件,它是 S3QL 的一個(gè)默認(rèn)的配置文件。這個(gè)文件里的信息包括必須的 AWS access key,S3 bucket 名,以及加密口令。這個(gè)加密口令將被用來加密一個(gè)隨機(jī)生成的主密鑰,而主密鑰將被用來實(shí)際地加密 S3QL 文件系統(tǒng)數(shù)據(jù)。
代碼如下:
$ mkdir ~/.s3ql
$ vi ~/.s3ql/authinfo2
[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 需要預(yù)先通過 AWS 管理面板來創(chuàng)建。
為了安全起見,讓 authinfo2 文件僅對(duì)你可訪問。
代碼如下:
$ chmod 600 ~/.s3ql/authinfo2
創(chuàng)建 S3QL 文件系統(tǒng)
現(xiàn)在你已經(jīng)準(zhǔn)備好可以在 AWS S3 上創(chuàng)建一個(gè) S3QL 文件系統(tǒng)了。
使用 mkfs.s3ql 工具來創(chuàng)建一個(gè)新的 S3QL 文件系統(tǒng)。這個(gè)命令中的 bucket 名應(yīng)該與 authinfo2 文件中所指定的相符。使用“--ssl”參數(shù)將強(qiáng)制使用 SSL 連接到后端存儲(chǔ)服務(wù)器。默認(rèn)情況下,mkfs.s3ql 命令會(huì)在 S3QL 文件系統(tǒng)中啟用壓縮和加密。
代碼如下:
$ mkfs.s3ql s3://[bucket-name] --ssl
你會(huì)被要求輸入一個(gè)加密口令。請(qǐng)輸入你在 ~/.s3ql/autoinfo2 中通過“fs-passphrase”指定的那個(gè)口令。
如果一個(gè)新文件系統(tǒng)被成功創(chuàng)建,你將會(huì)看到這樣的輸出:
掛載 S3QL 文件系統(tǒng)
當(dāng)你創(chuàng)建了一個(gè) S3QL 文件系統(tǒng)之后,下一步便是要掛載它。
首先創(chuàng)建一個(gè)本地的掛載點(diǎn),然后使用 mount.s3ql 命令來掛載 S3QL 文件系統(tǒng)。
代碼如下:
$ mkdir ~/mnt_s3ql
$ mount.s3ql s3://[bucket-name] ~/mnt_s3ql
掛載一個(gè) S3QL 文件系統(tǒng)不需要特權(quán)用戶,只要確定你對(duì)該掛載點(diǎn)有寫權(quán)限即可。
視情況,你可以使用“--compress”參數(shù)來指定一個(gè)壓縮算法(如 lzma、bzip2、zlib)。在不指定的情況下,lzma 將被默認(rèn)使用。注意如果你指定了一個(gè)自定義的壓縮算法,它將只會(huì)應(yīng)用到新創(chuàng)建的數(shù)據(jù)對(duì)象上,并不會(huì)影響已經(jīng)存在的數(shù)據(jù)對(duì)象。
代碼如下:
$ mount.s3ql --compress bzip2 s3://[bucket-name] ~/mnt_s3ql
因?yàn)樾阅茉?,S3QL 文件系統(tǒng)維護(hù)了一份本地文件緩存,里面包括了最近訪問的(部分或全部的)文件。你可以通過“--cachesize”和“--max-cache-entries”選項(xiàng)來自定義文件緩存的大小。
如果想要除你以外的用戶訪問一個(gè)已掛載的 S3QL 文件系統(tǒng),請(qǐng)使用“--allow-other”選項(xiàng)。
如果你想通過 NFS 導(dǎo)出已掛載的 S3QL 文件系統(tǒng)到其他機(jī)器,請(qǐng)使用“--nfs”選項(xiàng)。
運(yùn)行 mount.s3ql 之后,檢查 S3QL 文件系統(tǒng)是否被成功掛載了:
代碼如下:
$ df ~/mnt_s3ql
$ mount | grep s3ql
卸載 S3QL 文件系統(tǒng)
想要安全地卸載一個(gè)(可能含有未提交數(shù)據(jù)的)S3QL 文件系統(tǒng),請(qǐng)使用 umount.s3ql 命令。它將會(huì)等待所有數(shù)據(jù)(包括本地文件系統(tǒng)緩存中的部分)成功傳輸?shù)胶蠖朔?wù)器。取決于等待寫的數(shù)據(jù)的多少,這個(gè)過程可能需要一些時(shí)間。
代碼如下:
$ umount.s3ql ~/mnt_s3ql
查看 S3QL 文件系統(tǒng)統(tǒng)計(jì)信息及修復(fù) S3QL 文件系統(tǒng)
若要查看 S3QL 文件系統(tǒng)統(tǒng)計(jì)信息,你可以使用 s3qlstat 命令,它將會(huì)顯示諸如總的數(shù)據(jù)、元數(shù)據(jù)大小、重復(fù)文件刪除率和壓縮率等信息。
代碼如下:
$ s3qlstat ~/mnt_s3ql
你可以使用 fsck.s3ql 命令來檢查和修復(fù) S3QL 文件系統(tǒng)。與 fsck 命令類似,待檢查的文件系統(tǒng)必須首先被卸載。
代碼如下:
$ fsck.s3ql s3://[bucket-name]
S3QL 使用案例:Rsync 備份
讓我用一個(gè)流行的使用案例來結(jié)束這篇教程:本地文件系統(tǒng)備份。為此,我推薦使用 rsync 增量備份工具,特別是因?yàn)?S3QL 提供了一個(gè) rsync 的封裝腳本(/usr/lib/s3ql/pcp.py)。這個(gè)腳本允許你使用多個(gè) rsync 進(jìn)程遞歸地復(fù)制目錄樹到 S3QL 目標(biāo)。
代碼如下:
$ /usr/lib/s3ql/pcp.py -h
下面這個(gè)命令將會(huì)使用 4 個(gè)并發(fā)的 rsync 連接來備份 ~/Documents 里的所有內(nèi)容到一個(gè) S3QL 文件系統(tǒng)。
代碼如下:
$ /usr/lib/s3ql/pcp.py -a --quiet --processes=4 ~/Documents ~/mnt_s3ql
這些文件將首先被復(fù)制到本地文件緩存中,然后在后臺(tái)再逐步地同步到后端服務(wù)器。
上述就是小編為大家分享的Linux服務(wù)器中如何使用加密文件系統(tǒng)了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。