簡體   English   中英

在Linux中使用外部C ++腳本解密並安裝eCryptFS加密目錄

[英]Decrypt and mount an eCryptFS encrypted directory using an external C++ script in Linux

我想通過在C ++中執行“ ecryptfs-mount-private”終端命令並從同一C ++腳本提供密碼/密碼來解密和安裝默認的eCryptfs專用目錄。

我嘗試分叉然后執行shell(/ bin / sh),並使用sh打開I / O的管道,但是當我嘗試通過管道進行寫入時,出現以下錯誤:

stty:標准輸入:設備的不合適的ioctl

我猜這是因為ecryptfs-mount-private僅接受來自鍵盤的密碼輸入。

如何實現這種解密和掛載機制? 可行的方法或任何變通辦法將很有幫助。

PS。 在我的方案中,將密碼短語存儲在C ++代碼中的安全性問題不是問題。

謝謝!

ecryptfs-mount-private是一個/bin/sh shell腳本(相對較短,只有65行,沒有注釋),因此您可以嘗試將其中的一些“轉換”為C ++和/或將其余的shell命令行一次運行。與system()時間。

ecrypt-mountfs-private希望連接到終端。 一種解決方案是使用forkpty (2)而不是fork ,這將確保子進程可以訪問pty(pseudo-tty)。 然后,您可以寫入和讀取主文件描述符以提供輸入響應。 讀取子進程的輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM