我有一个安装truecrypt卷的脚本,密码作为参数给出。系统上的任何用户都可以发出命令ps -aux | grep truecrypt
,该命令将显示加密卷的密码。此外,通过遍历proc
目录,可以再次显示密码。我有权访问我的机器,但我确信更改ps
命令和proc
目录的权限会在系统的其他部分中制动功能。一方面,我想自动挂载卷而无需用户交互,另一方面,妥协真密码卷的密码是不可能的。我可以使用expect
找到一些可接受的解决方案,但在此之前我想询问是否有人有更好的想法?
答案 0 :(得分:1)
我使用pexpect
在python脚本中解决我的问题,等效的shell脚本应该在概念上看起来类似
而不是
mntMyDir = '/mnt/' + myDir
os.system('truecrypt ' + mntMyDir + '.tc ' + mntMyDir + ' --password=' + myPassword + ' --keyfiles= --protect-hidden=no')
os.chdir(mntMyDir + '/tree')
我用过
mntMyDir = '/mnt/' + myDir
truecryptCmd = 'truecrypt ' + mntMyDir + '.tc ' + mntMyDir + ' --keyfiles= --protect-hidden=no'
child = pexpect.spawn(truecryptCmd)
child.expect('Enter password for ' + mntMyDir + '.tc: ')
child.sendline(myPassword)
child.wait()
os.chdir(mntMyDir + '/tree')