yar*_*can 5 linux security encryption command-line gnupg
我需要在包含大量文件和子文件夹的文件夹上使用 GPG。我可以使用“查找”+“gpg”,我可以加密所有文件,但我的问题是成功加密后 GPG 不会删除原始文件。
在 GPG 正确加密后删除原始文件的最佳和最安全的方法是什么?我不想过早地删除我的文件,也不想不正确地删除未加密的文件(由于 GPG 操作的错误、权限等问题)。
谢谢
shred
听起来像是您选择的用于安全删除文件的武器,但请参阅下面的文件系统限制。
如果您使用终端,一些 bash/sh 脚本可能会很有用。如果您想使用一根错误检查线?像这样移动文件(如果加密正确),如果加密不正确则打印一条消息?
gpg --encrypt <options> "$file" && mv "$file" todel-folder || echo "Error, $file did not encrypt"
Run Code Online (Sandbox Code Playgroud)
或者您可以使用一些大括号将一些多行“如果成功”和“如果失败”项目放在一起进行记录:
gpg --encrypt <options> "$file" && {
echo "gpg on $file successful" >> logfile
mv "$file" todel-folder
} || {
echo "Error, $file did not encrypt" >> logfile
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以安全地删除/擦除/shred
中的文件todel-folder
,或者立即粉碎它们而不是使用mv
:
gpg --encrypt <options> "$file" && {
echo "gpg on $file successful" >> logfile
shred "$file" && {
echo "shred on $file successful" >> logfile
} || {
echo "shred on $file successful" >> logfile
}
} || {
echo "Error, $file did not encrypt" >> logfile
}
Run Code Online (Sandbox Code Playgroud)
请man shred
参阅一些选项和警告:
shred - overwrite a file to hide its contents, and optionally delete it
Run Code Online (Sandbox Code Playgroud)
注意:请注意,shred 依赖于一个非常重要的假设:文件系统会就地覆盖数据。这是传统的处理方式,但许多现代文件系统设计并不满足这个假设。以下是 shred 在所有文件系统模式下无效或不保证有效的文件系统示例:
日志结构或日志文件系统,例如 AIX 和 Solaris 提供的文件系统(以及 JFS、ReiserFS、XFS、Ext3 等)
即使某些写入失败也能写入冗余数据并继续运行的文件系统,例如基于 RAID 的文件系统
制作快照的文件系统,例如 Network Appliance 的 NFS 服务器
在临时位置缓存的文件系统,例如 NFS 版本 3 客户端
压缩文件系统
对于 ext3 文件系统,上述免责声明仅适用于 data=journal 模式(因此粉碎的有效性有限),该模式除了元数据之外还记录文件数据。在 data=ordered(默认)和 data=writeback 模式下,shred 照常工作。可以通过将 data=something 选项添加到
/etc/fstab 文件中特定文件系统的挂载选项来更改 Ext3 日志记录模式,如挂载手册页 (man mount) 中所述。
归档时间: |
|
查看次数: |
8782 次 |
最近记录: |