tcplay:无法写入已安装的卷

tcplay:无法写入已安装的卷

背景

我在 Windows 中设置了一个 TrueCrypt 卷,我想在 Linux 中写入它。它是我已安装到目录的硬盘驱动器中的一个文件:drwx------ 1 user user 20K Aug 18 02:53 hdd/。我还尝试从文件的本地副本中读取。我运行了以下命令并能够从中读取,但无法以 root 身份对其进行 chmod 或写入。

user@PC:~$ sudo losetup /dev/loop0 /path/to/volume/file
user@PC:~$ sudo tcplay -d /dev/loop0 -m tcvol
user@PC:~$ sudo mkdir /media/user/tcvol
user@PC:~$ sudo chown user /media/user/tcvol
user@PC:~$ sudo chmod 777 /media/user/tcvol
user@PC:~$ sudo mount /dev/mapper/tcvol /media/user/tcvol
user@PC:~$ sudo cat /media/user/tcvol/somefile
some contents
user@PC:~$ sudo echo "hello world" > /media/user/tcvol/test.txt
bash: /media/user/tcvol/test.txt: Permission denied

此时,我可以从卷中读取,但即使以 root 身份也无法对任何卷内容进行 chmod 或写入。chmod 777 -R /media/user/tcvol没有输出并且不会更改权限;同样如此chownll产生如下输出:

user@PC:~$ ll /media/user/tcvol
-rwxr-xr-x  1 root root   12 Jul 28 10:06 somefile

问题

我安装此卷后无法写入该卷。出了什么问题?

更多细节

user@PC:~$ sudo tcplay -d /dev/loop0 -i
Device:         /dev/loop0
PBKDF2 PRF:     whirlpool
PBKDF2 iterations:  1000
Cipher:         SERPENT-256-XTS
Key Length:     512 bits
CRC Key Data:       0x494f9a81
Sector size:        512
Volume size:        1536 sectors
IV offset:      256
Block offset:       256

答案1

我能够弄清楚这一点。由于关于 tcplay 的其他问题只有 2 个,而且都没有解决这个特定问题,所以我决定分享我的发现。事不宜迟,我的答案是:

user@PC:~$ vim /media/user/tcvol/newfile.txt
(i "hello world" esc :wq)
user@PC:~$ cat /media/user/tcvol/newfile.txt
hello world

写入问题是 echo 命令,但我不确定为什么 chmod 不起作用。经过一番折腾之后。我创建了一个用于挂载和卸载 TrueCrypt 卷的脚本以普通用户的身份。我将其写入/usr/bin/tcmount并将其 chmodded 为 755。最显著的变化是:

user@PS:~$ sudo mount -o uid=`id -u` /dev/loopX /media/user/whatever

-o uid标志确保用户帐户对已挂载卷具有 rwx 访问权限。希望有人会发现这很有用。

编辑:我将脚本内容移至 pastebin 粘贴。这让答案变得太杂乱了。

相关内容