gnome-keyring的烦恼

news/2024/7/8 5:00:02 标签: 加密, 网络, vpn, 算法, linux, 图形

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,其中记录着我设置的默认密钥环的名称,看来是由于误删了这个文件引起的。。。。。

 

http://www.chenhuan.net/gnome -keyrings-puzzled.html


http://www.niftyadmin.cn/n/1719995.html

相关文章

Halcon流程控制语句 第一讲(tcy)

流程控制语句1.选择语句:1.1.if..else语句:if()[elseif()][else]endif1.2.switch…case语句:switch (Index)case 1:*常量表达式break*中断跳出case 2:breakcase 3:breakdefault:breakendswitch2.循环语句:2.1.For循环语句:for i: 0 to NumBal…

2019 Multi-University Training Contest 1 补题

贴一下队友博客链接 https://blog.csdn.net/qq_38515845/article/details/97438369 1001 Blank(HDU 6578) 题意:用\({0,1,2,3}\)四种数填长为n的空行,有m个形如\([l,r,x]\)的限制表示\([l,r]\)区间要出现x种数。 题解:…

20190729

倒数第3,这是个悲伤的故事............... 可以认为是暴零了。。。。悲伤。。 就是不行,心态也炸,干某个题干了2小时40多分钟,,,,,然后它WA0 了。。。 第一题一直在想ON的&#xff0…

不使用layout.xml

http://blog.csdn.net/ytm419/article/details/5924902 androidUI第三部分---1.3.2不使用xml文件手工代码实现布局 界面布局同样也可以完全手动动态实现而不借助于xml布局文件,但两种方式不可混用,实现方式如下(以linearlayout为例&#xf…

C++ std :: stringbuf (tcy)

1.1.字符串流缓冲区String stream buffer typedef basic_stringbuf <char> stringbuf; 流缓冲区以读取和写入 串对象1.2.说明&#xff1a;此类的对象在内部维护一个字符序列&#xff0c;它们用作它们的关联输入序列和/或关联输出序列。内部序列可以从串 对象&…

python 直接if判断和is not None的区别

tmpName if tmpName: print tmpName #没有输出if tmpName is not None: print tmpName #有输出&#xff0c;是空行 转载于:https://www.cnblogs.com/jfdwd/p/11264854.html

SWIG VS2017安装配置 tcy

1.Windows10安装SWIG&#xff1a; 1&#xff09;下载swigwin-4.0.2.zip 64位软件包&#xff0c;解压缩拷贝到&#xff1a;C:\swigwinhttps://sourceforge.net/projects/swig/files/swigwin/swigwin-4.0.2/swigwin-4.0.2.zip/download2&#xff09;设置环境变量&#xff1a;C:\s…

SWIG 打包C++数组供python调用 tcy

1.1.carrays.i 用途&#xff1a; 该模块定义将普通C指针包装为数组的宏;不提供任何安全性;仅提供用于创建&#xff0c;销毁和修改原始C数组数据内容的功能 1.2.%array_functions(type, name) 用途&#xff1a;创建四个函数&#xff0c;供你创建销毁辅值及读数…