sudo権限なしでLUKSデバイスがロック解除されたことをどのように確認できますか?

sudo権限なしでLUKSデバイスがロック解除されたことをどのように確認できますか?

sudo権限なしでLUKSデバイスがロック解除されていることを確認する方法はありますか?

わかりました二つ 質問しかし、すべての答えにはsudoが必要です。

CleartextDevice間接的な方法(出力値の処理)を見つけたようですが、安定したudisksctl infoソリューションだと仮定しても、せいぜいハッキングです。

たとえば、Gnome Diskにはsudo権限は必要ありませんが、LUKSデバイスのロック/ロック解除状態をデコードできます。

答え1

たとえば、Gnome Diskにはsudo権限は必要ありませんが、LUKSデバイスのロック/ロック解除状態をデコードできます。

GNOMEディスクはUDiskを使用して情報を取得します。デバイスがロックされているか、有効なオブジェクトパス(に変換されている)の形式の場合、このプロパティCleartextDeviceは常にデバイスマッパープレーンテキストデバイス名(DBusでエンコードされています)になります。出力を解析したくない場合は、get属性のみを使用してください。より簡単に解析するために、出力をJSONにフォーマットすることもできます。//org/freedesktop/UDisks2/block_devices/dm_2d<num>dm_2d<num>dm-<num>-_2dudisksctlbusctlCleartextDevice

ロックされたLUKSデバイス:

$ busctl get-property org.freedesktop.UDisks2 /org/freedesktop/UDisks2/block_devices/sda1 org.freedesktop.UDisks2.Encrypted CleartextDevice -j
{
        "type" : "o",
        "data" : "/"
}

ロック解除されたLUKSデバイス:

$ busctl get-property org.freedesktop.UDisks2 /org/freedesktop/UDisks2/block_devices/nvme0n1p3 org.freedesktop.UDisks2.Encrypted CleartextDevice -j
{
        "type" : "o",
        "data" : "/org/freedesktop/UDisks2/block_devices/dm_2d0"
}

USB DBus API安定性が保証され、デバイスのオブジェクトパスは常にです/org/freedesktop/UDisks2/block_devices/<name>

ただし、LUKSデバイスにサブデバイスがあるかどうかをいつでも簡単に確認できます。プレーンテキストデバイスは常にLUKSデバイスのサブデバイスであるため、lsblksysfsまたはsysfsで確認できます。

ロックされたLUKSデバイス:

$ ls /sys/block/sda/sda1/holders/

ロック解除されたLUKSデバイス:

$ ls /sys/block/nvme0n1/nvme0n1p3/holders
dm-0

答え2

質問は理解できないかもしれませんが、/dev/mapper/マッピングが存在することを確認するだけです。パスワードが復号化またはロック解除されていない場合は存在しません。

アクティブドライブマッピングドライブを表示するには:

for file in $(readlink /dev/mapper/*); do echo $(ls -1 "/sys/block/${file##[./]}/slaves"); done

関連情報