cryptsetup 및 키 파일을 사용하여 외장 하드 드라이브를 암호화했습니다. 이제 내 목표는 자동으로 해독하여 플러그인에 설치하는 것입니다. 한번은 이걸로 해봤는데블로그게시물(불행히도 독일어). 이것은 이전 Ubuntu 16.04 시스템에서 작동했지만 Focal로 업그레이드한 이후 더 이상 작동하지 않습니다. 구체적으로 내가 한 일은 다음과 같습니다.
/dev/mapper/extdrive /mnt/extdrive xfs defaults,noauto 0 2
에 추가하세요/etc/fstab
.ACTION=="add", SUBSYSTEM=="block", ENV{DEVTYPE}=="partition", ATTRS{serial}=="123456789", RUN+="/sbin/cryptsetup --key-file /root/.kf luksOpen $env{DEVNAME} extdrive"
에 추가 하다/etc/udev/rules.d/85-extdrive.rules
ACTION=="add|change", SUBSYSTEM=="block", ENV{DM_NAME}=="extdrive", RUN+="/bin/mount /dev/mapper/$env{DM_NAME}"
에 추가 하다/etc/udev/rules.d/85-extdrive.rules
드라이브가 luksOpen을 통해 열렸지만 마운트되지 않은 것 같습니다. 즉, "Add|Change" 규칙이 실행되지 않습니다. 자동 마운트가 실패한 이유를 찾는 방법은 무엇입니까? 해당 명령을 수동으로 실행하면 모든 것이 괜찮아 보입니다. 보너스 팁: 이 방법이 16.04에서는 작동했지만 20.04에서는 더 이상 작동하지 않는 이유는 무엇입니까?
감사합니다!
답변1
mount
UDev는 자체 마운트 네임스페이스로 실행되므로 UDev 규칙에서는 작동하지 않습니다. 대신 사용해야 합니다 systemd-mount
.이 위키피디아 기사더 알아보기.
udev 맨페이지에서:
기본 샌드박스가 systemd-udevd.service에 적용되므로 네트워크에 액세스하거나 파일 시스템을 마운트/마운트 해제하는 프로그램은 udev 규칙 내에서 실행될 수 없습니다.
이것은 비교적 새로운 변경 사항이므로(약 3년 전 것으로 생각됩니다) 16.04에는 아직 적용되지 않은 것으로 추측됩니다.