自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 Stratis 中開始加密

系統(tǒng) Linux
Stratis 2.1 版本引入了對加密的支持。繼續(xù)閱讀以了解如何在 Stratis 中開始加密。

[[394127]]

Stratis 在其 官方網(wǎng)站 上被描述為“易于使用的 Linux 本地存儲管理”。請看這個 短視頻,快速演示基礎(chǔ)知識。該視頻是在 Red Hat Enterprise Linux 8 系統(tǒng)上錄制的。視頻中顯示的概念也適用于 Fedora 中的 Stratis。

Stratis 2.1 版本引入了對加密的支持。繼續(xù)閱讀以了解如何在 Stratis 中開始加密。

先決條件

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

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

在內(nèi)核密鑰環(huán)中創(chuàng)建一個密鑰

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

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

例如,要創(chuàng)建一個描述為 pool1key 的密鑰,并從標(biāo)準(zhǔn)輸入中讀取密鑰,可以輸入:

  1. # stratis key set --capture-key pool1key
  2. Enter desired key data followed by the return key:

該命令提示我們輸入密鑰數(shù)據(jù)/密碼,然后密鑰就創(chuàng)建在內(nèi)核密鑰環(huán)中了。

要驗證密鑰是否已被創(chuàng)建,運(yùn)行 stratis key list

  1. # stratis key list
  2. Key Description
  3. pool1key

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

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

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

  1. # keyctl get_persistent @s
  2. 318044983
  3. # keyctl show
  4. Session Keyring
  5. 701701270 --alswrv 0 0 keyring: _ses
  6. 649111286 --alswrv 0 65534 \_ keyring: _uid.0
  7. 318044983 ---lswrv 0 65534 \_ keyring: _persistent.0
  8. 1051260141 --alswrv 0 0 \_ user: stratis-1-key-pool1key

創(chuàng)建加密的 Stratis 池

現(xiàn)在已經(jīng)為 Stratis 創(chuàng)建了一個密鑰,下一步是創(chuàng)建加密的 Stratis 池。加密池只能在創(chuàng)建池時進(jìn)行。目前不可能對現(xiàn)有的池進(jìn)行加密。

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

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

你可以使用 stratis pool list 命令驗證該池是否已經(jīng)創(chuàng)建:

  1. # stratis pool list
  2. Name Total Physical Properties
  3. pool1 4.98 GiB / 37.63 MiB / 4.95 GiB ~Ca, Cr

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

接下來,創(chuàng)建一個文件系統(tǒng)。下面的例子演示了創(chuàng)建一個名為 filesystem1 的文件系統(tǒng),將其掛載在 /filesystem1 掛載點(diǎn)上,并在新文件系統(tǒng)中創(chuàng)建一個測試文件:

  1. # stratis filesystem create pool1 filesystem1
  2. # mkdir /filesystem1
  3. # mount /stratis/pool1/filesystem1 /filesystem1
  4. # cd /filesystem1
  5. # echo "this is a test file" > testfile

重啟后訪問加密池

當(dāng)重新啟動時,你會發(fā)現(xiàn) Stratis 不再顯示你的加密池或它的塊設(shè)備:

  1. # stratis pool list
  2. Name Total Physical Properties
  1. # stratis blockdev list
  2. Pool Name Device Node Physical Size Tier

要訪問加密池,首先要用之前使用的相同的密鑰描述和密鑰數(shù)據(jù)/口令重新創(chuàng)建密鑰:

  1. # stratis key set --capture-key pool1key
  2. Enter desired key data followed by the return key:

接下來,運(yùn)行 stratis pool unlock 命令,并驗證現(xiàn)在可以看到池和它的塊設(shè)備:

  1. # stratis pool unlock
  2. # stratis pool list
  3. Name Total Physical Properties
  4. pool1 4.98 GiB / 583.65 MiB / 4.41 GiB ~Ca, Cr
  5. # stratis blockdev list
  6. Pool Name Device Node Physical Size Tier
  7. pool1 /dev/dm-2 4.98 GiB Data

接下來,掛載文件系統(tǒng)并驗證是否可以訪問之前創(chuàng)建的測試文件:

  1. # mount /stratis/pool1/filesystem1 /filesystem1/
  2. # cat /filesystem1/testfile
  3. this is a test file

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

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

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

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

  1. # echo -n passphrase > /root/pool1key

確保該文件只能由 root 讀?。?/p>

  1. # chmod 400 /root/pool1key
  2. # chown root:root /root/pool1key

在 /etc/systemd/system/stratis-filesystem1.service 創(chuàng)建包含以下內(nèi)容的 systemd 單元文件:

  1. [Unit]
  2. Description = stratis mount pool1 filesystem1 file system
  3. After = stratisd.service
  4.  
  5. [Service]
  6. ExecStartPre=sleep 2
  7. ExecStartPre=stratis key set --keyfile-path /root/pool1key pool1key
  8. ExecStartPre=stratis pool unlock
  9. ExecStartPre=sleep 3
  10. ExecStart=mount /stratis/pool1/filesystem1 /filesystem1
  11. RemainAfterExit=yes
  12.  
  13. [Install]
  14. WantedBy = multi-user.target

接下來,啟用服務(wù),使其在啟動時運(yùn)行:

  1. # systemctl enable stratis-filesystem1.service

現(xiàn)在重新啟動并驗證 Stratis 池是否已自動解鎖,其文件系統(tǒng)是否已掛載。

結(jié)語

在今天的環(huán)境中,加密是很多人和組織的必修課。本篇文章演示了如何在 Stratis 2.1 中啟用加密功能。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2022-07-21 14:33:31

加密貨幣加密職業(yè)區(qū)塊鏈

2021-04-28 16:41:26

Stratis磁盤加密系統(tǒng)運(yùn)維

2021-11-22 16:51:40

LinuxBitlockerWindows

2017-02-08 21:20:24

LinuxUbuntu加密硬盤

2018-05-14 08:36:06

JavaFedoraOpenJDK

2022-07-26 15:24:22

加密貨幣金融投資

2013-11-13 09:22:16

2022-12-07 08:00:00

2016-09-14 16:37:42

2024-02-21 12:18:15

2022-09-26 08:35:53

磁盤Java解密

2022-05-05 11:13:30

Telegram加密

2014-12-03 08:53:59

eCryptFS加密文件

2022-10-09 10:18:44

LinuxShell腳本

2018-02-23 14:50:30

2009-07-10 17:54:15

Java中調(diào)用JythJython

2022-01-21 10:58:39

JavaScriptGolangPython

2024-10-22 15:10:49

2022-11-02 16:47:36

2023-07-24 11:01:29

UbuntuWine
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號