我正在爲一個gpg問題掙扎幾天,無法找到我自己的解決方案。我會很高興,如果你可以幫我解決以下問題:GPG解密沒有內容的文件/爲空文件
我需要在php中解密一個gpg文件。爲此,我使用以下命令:
cat passphrase.txt | /usr/local/bin/gpg --decrypt --passphrase-fd 0 stammdaten.txt.gpg>stammdaten.txt
the passphrase.txt contains the password for decryption
stammdaten.txt.gpg is the encrypted file
the decrypted data will be written in stammdaten.txt
when i run this command in php:
shell_exec=("cat passphrase.txt | /usr/local/bin/gpg --decrypt --passphrase-fd 0 stammdaten.txt.gpg>stammdaten.txt")
i get a zero-byte output file (stammdaten.txt) with owner=ftpadmin and group=psacln
but when i execute the same command via ssh terminal (as root), the data will be decrypted and written correctly with file owner=root and group=root.
我認爲,這是一個權限問題。我怎樣才能在PHP中正確使用該命令?我也嘗試用ftprightson解密文件chown和chgrp,但似乎沒有任何幫助。
每個答案都非常感謝。謝謝!
如果我嘗試你的建議命令,我得到gpg:無效選項「--passphrase-fd0」,如果我嘗試「su ftpadmin」沒有任何反應,我仍然以root身份登錄。但是當我「蘇www數據」我切換並執行我的初始命令。文件所有者和組則是「www-data」,文件寫入成功。是否有可能執行我的命令作爲萬維網數據? – user963942 2012-03-19 12:31:17
無效選項問題是我的錯......該命令在shell中工作,但不在shell中的shell_exec中。 – user963942 2012-03-19 13:59:39