gnome-keyring的烦恼
gnome -keyring的烦恼
GNOME
-keyring是用来保存在GNOME
环
境中所使用的各种密码。如果在某程序中需要输入密码,而我们想保存密码的话,如果保存密码的功能由各程序独自提供,那么会出现安全问题或者不可操作,安全
问题是:如果程序使用明文保存密码,那密码很容易被窥伺,如果程序使用可逆加密算法来加密密码,但是由于Linux下程序大多是开源的,加密算法也可以知
晓,那加密就没有了意义。
如果程序使用了MD5之类的单向加密算法来加密保存的密码,那又无法起到保存密码的作用了(因为密文不可逆,因此程序无法得知原来的密码)
gnome
-keyring
则是为了解决这种矛盾而产生的。它的原理是通过一个密钥环(keyring)将系统中各种密码,比如登录密码,网络连接密码等统统保存在该密钥环中,该密
钥环可以由密码加密,也可以不加密明文存放,这样就达到了只用输入一个密码或者不输入密码,来管理所有保存在该密钥环中的密码了。
应该说gnome -keyring 的设计初衷是好的,但是在实际环境中这个东西与我们的需求有很多矛盾之处,如果密钥环使用密码加密,那么当我们需要输入密码时虽然不用输入已经保存的密 码,但是仍然需要输入密钥环的密码,同样没有达到不输入密码的目的;如果密钥环不使用密码加密,那么保存在密钥环中的密码同样是明文存放,那又与程序自己 管理有什么区别呢??这无疑是一个悖论。。。
就在昨天,我在设置一个vpn的时候,手快了一下,在提示设置密钥环密码时设置了密码,之后连接vpn均需要输入密钥环的密码,非常烦恼,随后我删除了~/.gnome 2/keyrings 目录,以期达到重置密钥环的目的,但是麻烦由此而来
删除了目录之后,重新设置网络连接,提示设置密钥环密码时使用空密码,原以为问题就此解决,但是再连接网络时,弹出对话框要求输入网络连接的密码,仿佛是密钥环没有起到任何作用,再次保存密钥环,之后再连接网络,同样,密钥环未起作用。
此时查看~/.gnome 2/keyrings 目录,发现其中有如下文件:默认密钥.keyring 默认密钥_1.keyring 默认密钥_2.keyring……看起来每当我输入一次密码,就自动创建了一个密钥环,而该密钥环没有起到默认密码环的作用,所以再次输入密码,密钥环无效。这可能是由于我直接删除了keyrings 目录,而该目录下可能有其它的一些配置文件引起的
后来安装了seahorse 这个图形界面的密钥环管理软件,在其中重新新建密钥环,并设置其为默认,方解决问题,此时查看.gnome 2/keyrings目录,发现多了一个文件default,其中记录着我设置的默认密钥环的名称,看来是由于误删了这个文件引起的。。。。。