在Linux中使用外部C++脚本解密和安装EcRePTFS加密目录 我想通过在C++中执行EcRePTFS安装私钥命令,并从同一C++脚本提供密码/密码来解密和安装默认的EcRePTFS私有目录。p>

在Linux中使用外部C++脚本解密和安装EcRePTFS加密目录 我想通过在C++中执行EcRePTFS安装私钥命令,并从同一C++脚本提供密码/密码来解密和安装默认的EcRePTFS私有目录。p>,c++,linux,mount,ecryptfs,C++,Linux,Mount,Ecryptfs,我已经尝试过分叉,然后执行shell/bin/sh并使用sh打开I/O管道,但是当我尝试通过管道写入时,我得到以下错误: stty:标准输入:设备的ioctl不正确 我猜这是因为ecryptfs mount private只接受键盘输入的密码短语 如何实现这种类型的解密和装载机制?这样做的可能方法或任何变通方法都会有所帮助 在我的场景中,将密码短语存储在C++代码中的安全性问题不是问题。 谢谢 ecrypt mountfs private希望连接到终端。 一种解决方案是使用forkpty2而不是

我已经尝试过分叉,然后执行shell/bin/sh并使用sh打开I/O管道,但是当我尝试通过管道写入时,我得到以下错误:

stty:标准输入:设备的ioctl不正确

我猜这是因为ecryptfs mount private只接受键盘输入的密码短语

如何实现这种类型的解密和装载机制?这样做的可能方法或任何变通方法都会有所帮助

在我的场景中,将密码短语存储在C++代码中的安全性问题不是问题。

谢谢

ecrypt mountfs private希望连接到终端。
一种解决方案是使用forkpty2而不是fork,这将确保子进程能够访问pty伪tty。然后,您可以对主文件描述符进行写入和读取,以提供输入响应。读取子进程的输出。

< EpCuftsMultAuthor是A/BI/SH shell脚本,相对较短,只有65行,没有注释,因此您可以尝试运行其中一些转换为C++,和/或运行Shell命令行一次一次。它不起作用吗?为什么有人投了反对票?@Botje感谢你的建议:我尝试过这个方法,但由于一些截止日期限制以及我对forkpty和文件描述符的一般知识的缺乏,无法让它完全按照我想要的方式工作。但是,我使用Xen2050的建议实现了所需的行为。ecryptfs-mount-private是一个脚本,只有大约65行没有注释,您可以尝试一次运行一行和/或转换其中的一些行it@Xen2050谢谢你的提示!我研究了ecryptfs mount private脚本,找到了一种解密和装载私有目录的方法。基本上,ecryptfs mount private执行了许多步骤。我使用system命令在我的C脚本中执行了这些必要的步骤。这是个好消息。一些ecryptfs工具和其他一些linux工具都是shell脚本,显示了良好的幕后外观。我想我应该把我的评论变成一个答案,因为它是有帮助的。。。