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

관련 정보