天天看点

剪切板是一个安全问题 - 在 Linux 中你可以用 xclip 和 cron 修复它

在你的操作系统上复制/粘贴的能力是必不可少的。无论你写的是代码还是剧本,这两个功能是在计算机上处理文本的核心。当你复制文本时,它会进入内存驻留的剪贴板。除非安装了可以容纳多个条目的剪贴板管理器,否则剪贴板默认情况下只会处理一个复制事件,当你复制其他东西的时候,它之前的条目才会消失。在标准 linux 设置中,剪贴板内容存储在控制它的程序的内存中(通常是 xorg)。

剪贴板应该有所限制,因为任何程序都可以读取其内容,如果放任它,它保存的东西就会一直呆在那里。此外,现代浏览器允许恶意网站以多种方式从剪贴板读取(和写入)。

虽然不是默认设置,但浏览器可以设置为禁止访问剪贴板。虽然也有用于浏览器和操作系统管理剪贴板的附加组件,但是,在此链条的源头解决问题更容易、更可靠,并使系统范围内的剪贴板安全。有很多理由使用一个剪贴板,但没有足够的理由让内容在那里保留一两分钟以上。

密码管理器最近变得很受欢迎,如果你使用过的话,你已经了解了它们如何将密码复制到剪贴板,以便你可以将其粘贴到浏览器中,并登录到你的帐户。接下来会发生什么?你的密码会保留在剪贴板上,直到另一个复制事件或重新启动。

即使你使用单独的浏览器来处理银行等事务,复制密码时,通过剪贴板会将其带回其他浏览器,并将其暴露在基于 web 的剪贴板收集技术中。

<code>sudo apt-get install xclip</code>

我们在终端中测试一下程序。首先从某处复制一些文字,复制到其他地方,并输入这两条命令:

<code>touch blank</code>

<code>xclip -selection clipboard blank</code>

接着再次尝试复制文本 - 它应该就会消失了。现在把这个命令放在脚本中。创建一个脚本(用你的文本编辑器代替 leafpad):

<code>leafpad nukeclipboard.sh</code>

并在新文件中输入下面的内容:

<code>#!/bin/sh</code>

<code>touch blank &amp;&amp; xclip -selection clipboard blank</code>

保存并关闭文件,接着加上可执行权限:

<code>chmod +x nukeclipboard.sh</code>

要设置 cron 任务,请在终端输入:

<code>crontab -e</code>

在最后被注释掉的行后,输入下面的行(将 <code>/home/user/</code> 替换为你的脚本位置):

<code>* * * * * export display=:0 &amp;&amp; /home/user/nukeclipboard.sh</code>

现在按下 <code>ctrl-o</code> 保存(使用你的 cron 任务编辑器的保存快捷键),然后点击回车保存你的 crontab。最后,按下 <code>ctrl-x</code> 退出程序。从现在起,你的剪贴板的使用寿命为一分钟。

原文发布时间为:2017-01-26

本文来自云栖社区合作伙伴“linux中国”

继续阅读