我正在从基于 GUI 的密码文件切换到基于文本的密码文件,并且我打算用 进行加密openssl
。
openssl
可以按照与以下类似的方式使用。
以下脚本可能具有如下名称encryptPw.sh
#!/bin/bash
if [ ! -f pw.txt ] ; then
echo "pw.txt not found"
exit 1
fi
openssl aes128 <pw.txt >pw.aes128
if [ -f pw.aes128 ] ; then
rm pw.txt
rm --force pw.txt~
else
echo "failed to create pw.aes128"
fi
纯文本密码文件可能通过 进行编辑gedit
。如果用户在登录时不在场或以其他方式获得对文件系统的访问权限,则如果有人未经授权访问 Ubuntu,则会产生小风险。应用程序关闭gedit
后会留下缓存文件或临时文件吗?gedit
另外:我将切换到全盘加密,因为 16.04 即将结束长期支持,但与此同时,我对这个gedit
问题的答案很感兴趣。即使机器有全盘加密,继续使用此脚本也是有意义的,因为人们不希望此文件在备份中是纯文本。如果备份转到云服务器,那么您就更有理由不在备份中使用纯文本。假设:备份本身未加密,因此例如只需启动并解密整个磁盘并执行 tar,tar 存档就构成了备份。如果备份是加密磁盘的映像副本,那么显然“纯文本风险”不适用。底线:如果备份不是完全加密的磁盘,我会想要使用我的密码脚本。
编辑:感谢下面的回答和评论,我能够添加rm --force pw.txt~
一些我的脚本。
相关脚本getPw.sh
#!/bin/bash
if [ ! -f pw.aes128 ] ; then
echo "pw.aes128 not found"
exit 1
fi
openssl aes128 -d <pw.aes128 >pw.txt
相关脚本peekPw.sh
#!/bin/bash
if [ ! -f pw.aes128 ] ; then
echo "pw.aes128 not found"
exit 1
fi
openssl aes128 -d <pw.aes128 >pw.txt
cat pw.txt
rm pw.txt
rm --force pw.txt~
答案1
第一次保存后,通常会默认存在隐藏的临时波浪号后缀文件,当然,如果 gedit(或您的操作系统)崩溃,它们也会保留下来:从 gedit 恢复文件
以波浪号为后缀的文件与原始文件位于同一目录中。
这些文件的创建是可选的,可以在首选项中进行更改,如下所示:在 gedit 菜单中按照顺序编辑 > 首选项 > 编辑器 > 找到“保存前创建文件备份”选项 > 取消选中该选项。
其他目录中不应有任何其他临时文件或崩溃文件。
答案2
如果您只是手动访问一个文件:
您可以使用 vi 加密密码文件
vi -x pw.txt
......然后在询问时创建密码。
然后每次访问时都输入密码。
如果有人查看了文件,它无法被解密……人力的
限制是你必须使用 vi 才能对其进行操作。
我不确定您是否正在访问大量的密码文件
......或者只是尝试维护一个您必须偶尔进入的密码文件
.....或者以编程方式进行操作,这对此没有任何好处
......只是解决安全问题的另一种可能的选择。