中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么在Stratis中開始加密

發布時間:2021-10-22 11:01:59 來源:億速云 閱讀:150 作者:小新 欄目:系統運維

這篇文章將為大家詳細講解有關怎么在Stratis中開始加密,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

先決條件

加密需要 Stratis 2.1 或更高版本。這篇文章中的例子使用的是 Fedora 33 的預發布版本。Stratis 2.1 將用在 Fedora 33 的最終版本中。

你還需要至少一個可用的塊設備來創建一個加密池。下面的例子是在 KVM 虛擬機上完成的,虛擬磁盤驅動器為 5GB(/dev/vdb)。

在內核密鑰環中創建一個密鑰

Linux 內核密鑰環keyring用于存儲加密密鑰。關于內核密鑰環的更多信息,請參考 keyrings 手冊頁(man keyrings)。

使用 stratis key set 命令在內核鑰匙圈中設置密鑰。你必須指定從哪里讀取密鑰。要從標準輸入中讀取密鑰,使用 -capture-key 選項。要從文件中讀取密鑰,使用 -keyfile-path <file> 選項。最后一個參數是一個密鑰描述。它將稍后你創建加密的 Stratis 池時使用。

例如,要創建一個描述為 pool1key 的密鑰,并從標準輸入中讀取密鑰,可以輸入:

# stratis key set --capture-key pool1keyEnter desired key data followed by the return key:

該命令提示我們輸入密鑰數據/密碼,然后密鑰就創建在內核密鑰環中了。

要驗證密鑰是否已被創建,運行 stratis key list

# stratis key listKey Descriptionpool1key

這將驗證是否創建了 pool1key。請注意,這些密鑰不是持久的。如果主機重啟,在訪問加密的 Stratis 池之前,需要再次提供密鑰(此過程將在后面介紹)。

如果你有多個加密池,它們可以有一個單獨的密鑰,也可以共享同一個密鑰。

也可以使用以下 keyctl 命令查看密鑰:

# keyctl get_persistent @s318044983# keyctl showSession Keyring 701701270 --alswrv      0     0  keyring: _ses 649111286 --alswrv      0 65534   \_ keyring: _uid.0 318044983 ---lswrv      0 65534   \_ keyring: _persistent.01051260141 --alswrv      0     0       \_ user: stratis-1-key-pool1key

創建加密的 Stratis 池

現在已經為 Stratis 創建了一個密鑰,下一步是創建加密的 Stratis 池。加密池只能在創建池時進行。目前不可能對現有的池進行加密。

使用 stratis pool create 命令創建一個池。添加 -key-desc 和你在上一步提供的密鑰描述(pool1key)。這將向 Stratis 發出信號,池應該使用提供的密鑰進行加密。下面的例子是在 /dev/vdb 上創建 Stratis 池,并將其命名為 pool1。確保在你的系統中指定一個空的/可用的設備。

# stratis pool create --key-desc pool1key pool1 /dev/vdb

你可以使用 stratis pool list 命令驗證該池是否已經創建:

# stratis pool listName                     Total Physical   Propertiespool1   4.98 GiB / 37.63 MiB / 4.95 GiB      ~Ca, Cr

在上面顯示的示例輸出中,~Ca 表示禁用了緩存(~ 否定了該屬性)。Cr 表示啟用了加密。請注意,緩存和加密是相互排斥的。這兩個功能不能同時啟用。

接下來,創建一個文件系統。下面的例子演示了創建一個名為 filesystem1 的文件系統,將其掛載在 /filesystem1 掛載點上,并在新文件系統中創建一個測試文件:

# stratis filesystem create pool1 filesystem1# mkdir /filesystem1# mount /stratis/pool1/filesystem1 /filesystem1# cd /filesystem1# echo "this is a test file" > testfile

重啟后訪問加密池

當重新啟動時,你會發現 Stratis 不再顯示你的加密池或它的塊設備:

# stratis pool listName   Total Physical   Properties
# stratis blockdev listPool Name   Device Node   Physical Size   Tier

要訪問加密池,首先要用之前使用的相同的密鑰描述和密鑰數據/口令重新創建密鑰:

# stratis key set --capture-key pool1keyEnter desired key data followed by the return key:

接下來,運行 stratis pool unlock 命令,并驗證現在可以看到池和它的塊設備:

# stratis pool unlock# stratis pool listName                      Total Physical   Propertiespool1   4.98 GiB / 583.65 MiB / 4.41 GiB      ~Ca, Cr# stratis blockdev listPool Name   Device Node   Physical Size   Tierpool1       /dev/dm-2          4.98 GiB   Data

接下來,掛載文件系統并驗證是否可以訪問之前創建的測試文件:

# mount /stratis/pool1/filesystem1 /filesystem1/# cat /filesystem1/testfilethis is a test file

使用 systemd 單元文件在啟動時自動解鎖 Stratis 池

可以在啟動時自動解鎖 Stratis 池,無需手動干預。但是,必須有一個包含密鑰的文件。在某些環境下,將密鑰存儲在文件中可能會有安全問題。

下圖所示的 systemd 單元文件提供了一個簡單的方法來在啟動時解鎖 Stratis 池并掛載文件系統。歡迎提供更好的/替代方法的反饋。你可以在文章末尾的評論區提供建議。

首先用下面的命令創建你的密鑰文件。確保用之前輸入的相同的密鑰數據/密碼來代替passphrase

# echo -n passphrase > /root/pool1key

確保該文件只能由 root 讀取:

# chmod 400 /root/pool1key# chown root:root /root/pool1key

在 /etc/systemd/system/stratis-filesystem1.service 創建包含以下內容的 systemd 單元文件:

[Unit]Description = stratis mount pool1 filesystem1 file systemAfter = stratisd.service [Service]ExecStartPre=sleep 2ExecStartPre=stratis key set --keyfile-path /root/pool1key pool1keyExecStartPre=stratis pool unlockExecStartPre=sleep 3ExecStart=mount /stratis/pool1/filesystem1 /filesystem1RemainAfterExit=yes [Install]WantedBy = multi-user.target

接下來,啟用服務,使其在啟動時運行:

# systemctl enable stratis-filesystem1.service

現在重新啟動并驗證 Stratis 池是否已自動解鎖,其文件系統是否已掛載。

關于“怎么在Stratis中開始加密”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

井研县| 浦城县| 渝北区| 六安市| 沛县| 清河县| 宁河县| 咸阳市| 罗城| 宁阳县| 托里县| 郴州市| 柞水县| 舞钢市| 彝良县| 太仓市| 高州市| 吴忠市| 晋州市| 德惠市| 滕州市| 柘城县| 虞城县| 宜章县| 清丰县| 安阳县| 方城县| 肇东市| 浑源县| 福海县| 墨玉县| 井研县| 宿松县| 高碑店市| 白沙| 万盛区| 扎兰屯市| 滦平县| 水城县| 望城县| 陵水|