在 ubuntu 16.04 LTS 上使用 Dislocker 对 Bitlocker 加密驱动器的权限问题

在 ubuntu 16.04 LTS 上使用 Dislocker 对 Bitlocker 加密驱动器的权限问题

首先,我是 Ubuntu 新手。我想在 Ubuntu 16.04 LTS 32 位系统中使用我的 bit-locker 加密内置硬盘。所以我下载了解除锁定dislocker-master.zip)。

解压的 zip 文件根据INSTALL.md文件中给出的说明在 Ubuntu 上编译并安装了 Dislocker。要使用 Dislocker,他们写道

安装后,请参阅dislocker(1)有关如何使用它的详细信息。

INSTALL.md我在解压的 zip 文件中找不到dislocker(1)任何内容。所以我在 Google 上搜索如何使用它,并找到了教程https://www.youtube.com/watch?v=n7XT5fK4iwA

根据这个,终端的最后一行

sudo mount -o loop /media/drive1/dislocker-file /media/mount1/

显示错误:

ntfs-3g-mount: mount failed: Permission denied

为了解决这个问题,我在 Google 上搜索并找到了一个命令https://github.com/Aorimn/dislocker/issues/86,因此我使用了以下命令:

sudo mount -o ro,loop /media/drive1/dislocker-file /media/mount1/

这会以只读方式打开 Bitlocker 加密的驱动器。但我想要写访问也。我该怎么做?

我尝试过的事情:

$ sudo chown  jin:jin drive1 
chown: changing ownership of 'drive1': Function not implemented

$ chmod 777 drive1/
error: chmod: changing permissions of 'drive1/': Function not implemented

我也检查过了在 Ubuntu 14.04 LTS 上使用 (Windows) BitLocker 加密驱动器结果(我的密码以 1 开头):

$ sudo dislocker -r -V /dev/sda3 -123*** -- /media/drive1
dislocker: invalid option -- '1'
dislocker by Romain Coltel, v0.7.1 (compiled for Linux/x86)

Usage: dislocker [-hqrsv] [-l LOG_FILE] [-O OFFSET] [-V VOLUME DECRYPTMETHOD -F[N]] [-- ARGS...]
    with DECRYPTMETHOD = -p[RECOVERY_PASSWORD]|-f BEK_FILE|-u[USER_PASSWORD]|-k FVEK_FILE|-c

Options:
    -c, --clearkey        decrypt volume using a clear key (default)
    -f, --bekfile BEKFILE
                          decrypt volume using the bek file (on USB key)
    -F, --force-block=[N] force use of metadata block number N (1, 2 or 3)
    -h, --help            print this help and exit
    -k, --fvek FVEK_FILE  decrypt volume using the FVEK directly
    -l, --logfile LOG_FILE
                          put messages into this file (stdout by default)
    -O, --offset OFFSET   BitLocker partition offset, in bytes (default is 0)
    -p, --recovery-password=[RECOVERY_PASSWORD]
                          decrypt volume using the recovery password method
    -q, --quiet           do NOT display anything
    -r, --readonly        do not allow to write on the BitLocker volume
    -s, --stateok         do not check the volume's state, assume it's ok to mount it
    -u, --user-password=[USER_PASSWORD]
                          decrypt volume using the user password method
    -v, --verbosity       increase verbosity (CRITICAL errors are displayed by default)
    -V, --volume VOLUME   volume to get metadata and keys from

    --                    end of program options, beginning of FUSE's ones

  ARGS are any arguments you want to pass to FUSE. You need to pass at least
the mount-point.

Tue Aug 22 14:16:09 2017 [CRITICAL] Failed to open : No such file or directory
*** Error in `dislocker': corrupted size vs. prev_size: 0x816bb090 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x67377)[0xb755c377]
/lib/i386-linux-gnu/libc.so.6(+0x6d2f7)[0xb75622f7]
/lib/i386-linux-gnu/libc.so.6(+0x6d6ce)[0xb75626ce]
/lib/i386-linux-gnu/libc.so.6(+0x6e395)[0xb7563395]
/lib/i386-linux-gnu/libc.so.6(_IO_setb+0x61)[0xb7560171]
/lib/i386-linux-gnu/libc.so.6(_IO_file_close_it+0xa3)[0xb755e8b3]
/lib/i386-linux-gnu/libc.so.6(fclose+0x89)[0xb7552a69]
/usr/local/lib/libdislocker.so.0.7(dis_stdio_end+0x2b)[0xb76b1150]
/usr/local/lib/libdislocker.so.0.7(dis_destroy+0x68)[0xb76af4cf]
/usr/local/lib/libdislocker.so.0.7(dis_initialize+0xe6)[0xb76af5c8]
dislocker(main+0xe8)[0x80095eb2]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf7)[0xb750d637]
dislocker(+0x951)[0x80095951]
======= Memory map: ========
80095000-80097000 r-xp 00000000 08:06 550017     /usr/local/bin/dislocker-fuse
80097000-80098000 r--p 00001000 08:06 550017     /usr/local/bin/dislocker-fuse
80098000-80099000 rw-p 00002000 08:06 550017     /usr/local/bin/dislocker-fuse
816bb000-816dc000 rw-p 00000000 00:00 0          [heap]
b6f00000-b6f21000 rw-p 00000000 00:00 0 
b6f21000-b7000000 ---p 00000000 00:00 0 
b707b000-b7097000 r-xp 00000000 08:06 1588       /lib/i386-linux-gnu/libgcc_s.so.1
b7097000-b7098000 rw-p 0001b000 08:06 1588       /lib/i386-linux-gnu/libgcc_s.so.1
b70ae000-b70b0000 rw-p 00000000 00:00 0 
b70b0000-b7103000 r-xp 00000000 08:06 1620       /lib/i386-linux-gnu/libm-2.23.so
b7103000-b7104000 r--p 00052000 08:06 1620       /lib/i386-linux-gnu/libm-2.23.so
b7104000-b7105000 rw-p 00053000 08:06 1620       /lib/i386-linux-gnu/libm-2.23.so
b7105000-b710e000 r-xp 00000000 08:06 1560       /lib/i386-linux-gnu/libcrypt-2.23.so
b710e000-b710f000 r--p 00008000 08:06 1560       /lib/i386-linux-gnu/libcrypt-2.23.so
b710f000-b7110000 rw-p 00009000 08:06 1560       /lib/i386-linux-gnu/libcrypt-2.23.so
b7110000-b7137000 rw-p 00000000 00:00 0 
b7137000-b71c1000 r-xp 00000000 08:06 528942     /usr/lib/i386-linux-gnu/libgmp.so.10.3.0
b71c1000-b71c2000 r--p 00089000 08:06 528942     /usr/lib/i386-linux-gnu/libgmp.so.10.3.0
b71c2000-b71c3000 rw-p 0008a000 08:06 528942     /usr/lib/i386-linux-gnu/libgmp.so.10.3.0
b71c3000-b71c4000 rw-p 00000000 00:00 0 
b71c4000-b746a000 r-xp 00000000 08:06 535258     /usr/lib/i386-linux-gnu/libruby-2.3.so.2.3.0
b746a000-b746e000 r--p 002a5000 08:06 535258     /usr/lib/i386-linux-gnu/libruby-2.3.so.2.3.0
b746e000-b746f000 rw-p 002a9000 08:06 535258     /usr/lib/i386-linux-gnu/libruby-2.3.so.2.3.0
b746f000-b7476000 rw-p 00000000 00:00 0 
b7476000-b74cd000 r-xp 00000000 08:06 535153     /usr/lib/i386-linux-gnu/libmbedcrypto.so.2.2.1
b74cd000-b74ce000 ---p 00057000 08:06 535153     /usr/lib/i386-linux-gnu/libmbedcrypto.so.2.2.1
b74ce000-b74d0000 r--p 00057000 08:06 535153     /usr/lib/i386-linux-gnu/libmbedcrypto.so.2.2.1
b74d0000-b74d1000 rw-p 00059000 08:06 535153     /usr/lib/i386-linux-gnu/libmbedcrypto.so.2.2.1
b74d1000-b74d3000 rw-p 00000000 00:00 0 
b74d3000-b74ec000 r-xp 00000000 08:06 1694       /lib/i386-linux-gnu/libpthread-2.23.so
b74ec000-b74ed000 r--p 00018000 08:06 1694       /lib/i386-linux-gnu/libpthread-2.23.so
b74ed000-b74ee000 rw-p 00019000 08:06 1694       /lib/i386-linux-gnu/libpthread-2.23.so
b74ee000-b74f0000 rw-p 00000000 00:00 0 
b74f0000-b74f3000 r-xp 00000000 08:06 1574       /lib/i386-linux-gnu/libdl-2.23.so
b74f3000-b74f4000 r--p 00002000 08:06 1574       /lib/i386-linux-gnu/libdl-2.23.so
b74f4000-b74f5000 rw-p 00003000 08:06 1574       /lib/i386-linux-gnu/libdl-2.23.so
b74f5000-b76a5000 r-xp 00000000 08:06 1550       /lib/i386-linux-gnu/libc-2.23.so
b76a5000-b76a7000 r--p 001af000 08:06 1550       /lib/i386-linux-gnu/libc-2.23.so
b76a7000-b76a8000 rw-p 001b1000 08:06 1550       /lib/i386-linux-gnu/libc-2.23.so
b76a8000-b76ab000 rw-p 00000000 00:00 0 
b76ab000-b76c7000 r-xp 00000000 08:06 550014     /usr/local/lib/libdislocker.so.0.7.1
b76c7000-b76c8000 r--p 0001b000 08:06 550014     /usr/local/lib/libdislocker.so.0.7.1
b76c8000-b76c9000 rw-p 0001c000 08:06 550014     /usr/local/lib/libdislocker.so.0.7.1
b76c9000-b76f8000 r-xp 00000000 08:06 1587       /lib/i386-linux-gnu/libfuse.so.2.9.4
b76f8000-b76f9000 ---p 0002f000 08:06 1587       /lib/i386-linux-gnu/libfuse.so.2.9.4
b76f9000-b7702000 r--p 0002f000 08:06 1587       /lib/i386-linux-gnu/libfuse.so.2.9.4
b7702000-b7703000 rw-p 00038000 08:06 1587       /lib/i386-linux-gnu/libfuse.so.2.9.4
b7718000-b771b000 rw-p 00000000 00:00 0 
b771b000-b771d000 r--p 00000000 00:00 0          [vvar]
b771d000-b771f000 r-xp 00000000 00:00 0          [vdso]
b771f000-b7741000 r-xp 00000000 08:06 1522       /lib/i386-linux-gnu/ld-2.23.so
b7741000-b7742000 rw-p 00000000 00:00 0 
b7742000-b7743000 r--p 00022000 08:06 1522       /lib/i386-linux-gnu/ld-2.23.so
b7743000-b7744000 rw-p 00023000 08:06 1522       /lib/i386-linux-gnu/ld-2.23.so
bff87000-bffa8000 rw-p 00000000 00:00 0          [stack]
Aborted (core dumped)

这是什么意思?我尝试了密钥恢复密钥命令,

$ sudo dislocker -r -V /dev/sdaX -p1536987-000000-000000-000000-000000-000000-000000-000000 -- /media/bitlocker

和密码,

$ sudo dislocker -r -V /dev/sda3 -u -- /media/drive1

运行正常,但是命令

$ mount -r -o loop dislocker-file /media/mount

使用-r选项不是给出任何错误,但打开驱动器只读模式并且不带-r选项会出现同样的错误:权限被拒绝。

我还查看了评论:

Dislocker 应该支持对某些 Bitlocker 容器/版本的读写 (rw) 访问,“源”链接表示尚不支持 Windows 8 rw 访问”(2014 年),并且有一条评论表示它会默默地安装为 ro(即使安装显示为 rw)”可能会导致安装错误ntfs-3g-mount: mount failed: Permission denied。省略-rDislocker & mount 选项应该尝试安装 rw

Xen2050 1月25日 10:45

但什么都不明白。这是否意味着使用 Windows 7 的 Bitlocker 加密的驱动器可以以写入模式打开?我尝试使用 Windows 7 的 Bitlocker 加密的驱动器,但它也抛出了相同的错误并且只能以读取模式打开。现在,我如何在 Ubuntu 中启用 Bitlocker 加密驱动器的写入访问权限?

答案1

您可以尝试将 dislocker 文件挂载为循环设备,并授予所有人写入权限吗:

sudo mount -o loop,umask=0,uid=nobody,gid=nobody /media/drive1/dislocker-file /media/mount1

答案2

如果你现在还没搞清楚这一点,

mkdir /media/dislocker mkdir /media/windows

确保这里不使用 -r 选项
dislocker -V /dev/sdax -pxxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx-xxxxxx -- /media/dislocker

mount -o loop /media/dislocker/dislocker-file /media/windows

答案3

此外,回答您可以使用任何您喜欢的 uid、gid 来挂载/media/drive1/dislocker-file,例如:

sudo mount -o loop,uid=<myUserId>,gid=<myGroupId> /media/drive1/dislocker-file /media/mount1

/media/mount1然后,您可以从您的用户帐户访问任何文件。

答案4

如果sudo mount -o ro,loop /media/drive1/dislocker-file /media/mount1/是因为ro意味着只读。请将其更改为它rw,然后您应获得写访问权限。

相关内容