一、什么是密钥环?
首先,密钥环是一项安全功能,不是bug。
密钥环使系统可以将各种密码分组在一起,并将其保留在一个位置。
密钥环保留了ssh密钥,GPG密钥以及使用此功能的应用程序(例如Chrome浏览器)的密钥。 默认情况下,密钥环是一个安全的密码存储,使用主密码进行加密,该密码通常是帐户的登录密码。输入主密码,密钥环就会被解密,并且其中的所有密码都可供访问密钥环的应用程序使用。
通常,用户使用密码登录系统时,密钥环将使用用户帐户的密码自动解锁。
但系统自动登录时,就会出现问题。系统自动登录即无需输入密码即可登录系统, 此时密钥环不会自动解锁。因此使用具备密钥环功能的浏览器时,会要求用户解锁密钥环。
如果用户从未使用过自动登录或更改帐户密码,则可能意识不到密钥环功能的存在。
一种特殊情况:如果用户更改了帐户密码,那么登录时,系统将尝试使用新的登录密码自动解锁密钥环,但是密钥环仍使用旧登录密码。此时用户可以借助程序seahorse(密码和密钥)将密钥环密码更改为新的登录密码,之后登录系统时可以自动解锁密钥环。(详细步骤参见四)
二、系统设置密钥环的必要性
在Linux桌面上自动登录时,假如用户使用类似Chrome这样的浏览器来存储各个网站的登录密码,那么,有权访问此桌面的任何人都可以无需密码进入系统,任何人都可以使用浏览器并登录到用户已在浏览器中保存了密码的网站。这是不安全的。
因此,在使用Chrome浏览器时,总是弹出密钥环要求用户解锁,以确保只有知道密钥环密码(即帐户密码)的人才能使用浏览器中保存的密码登录各自的网站。如果使用者一直点击取消,最终可以访问Chrome浏览器,但其中保存的密码不会被解锁,且浏览器中"同步已暂停"。
三、设置不再弹出密钥环的方法
情况(1)需要设置一个新密码时:
直接点击继续,即为设置空密码,之后再打开浏览器就不会弹出密钥环
此时打开终端,依次输入以下命令,可以看到有【default】和【user.keystore】两个文件。
cd ~/.local/share/keyrings/
ls -al
点击继续之后,相当于设置了一个空密码,会自动产生一个【默认密钥环.keyring】文件,如下:
情况(2)需要输入密码解锁时:
使用以下命令,删除【默认密钥环.keyring】文件,再次点击谷歌软件,弹出设置新密码弹框,点击继续即可。
rm -rf ./默认密钥环.keyring
四、seahorse(密码和密钥)程序的使用方法
seahorse程序是一个管理密钥的图形化界面
(1)安装
sudo apt install seahorse
安装后在开始菜单打开【密码和密钥】,如下:
(2)更改、删除、锁定密钥环密码
五、系统层面禁用谷歌密钥环的方法
删除以下两个文件的可执行权限,重启桌面
sudo chmod -x /usr/bin/gnome-keyring
sudo chmod -x /usr/bin/gnome-keyring-daemon