[英]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.