Re: cryptsetup --test-passphrase requires root

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/09/18 00:57, Frank Cusack wrote:
> cryptsetup 1.6.1
> 
> cryptsetup --test-passphrase luksOpen /path/to/image
> 
> (note: /path/to/image is not a device path) complains
> 
> Cannot use a loopback device, running as non-root user.
> 
> Given that the header can be dumped without being root, it seems true that one should be able to test the passphrase without being root, as long as you can access the header/image.
> 
> I can see in lib/device_utils.c`device_internal_prepare that indeed, cryptsetup makes this check proactively rather than just failing somewhere else. In the case of --test-passphrase, is this really needed?
> 
> I don't think that is the code path for --test-passphrase though, since --test-passphrase doesn't require a device path whereas the referenced code does seem to require it. I didn't search exhaustively for that error message, just stopped at the first place where it seems superfluous. Couldn't a process have a mount capability without being uid 0?

It is not so easy as you think. The keyslot must be decrypted and for that it need kernel crypto.

If there kernel userspace crypto API available, cryptsetup does not need loopback files, nor access to device-mapper ioctl (both requires root)
and --test-passphrase works with normal user account.

Just please use recent crypsetup (version 1.6.1 is 5 years old!)

But if the the crypto API is not available - basically af_alg and other kernel modules - we have to use fallback
through dm-crypt for keyslot decryption and that require loop device mapping.
Boot is root (CAP_SYSADMIN) only. This is limitation outside of cryptsetup.

Milan
_______________________________________________
dm-crypt mailing list
dm-crypt@xxxxxxxx
https://www.saout.de/mailman/listinfo/dm-crypt



[Index of Archives]     [Device Mapper Devel]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux