当前位置:  技术问答>linux和unix

大家一起来看看vi的小技巧

    来源: 互联网  发布时间:2015-07-11

    本文导语:  可以给文件加密 通过:X命令 比如 vi myfile.c ESC :X  hello(the password) hello(reinput the password) :wq 这样子文件就可以加密了 | *23.3*  加密 有些信息你希望保留给自己。例如, 当你在计算机上写...

可以给文件加密
通过:X命令
比如
vi myfile.c
ESC
:X 
hello(the password)
hello(reinput the password)
:wq
这样子文件就可以加密了

|
*23.3*  加密

有些信息你希望保留给自己。例如, 当你在计算机上写一份给学生用的试卷。你不会愿意
在考试开始之前给聪明的学生琢磨出一种偷阅试题的方法。Vim 能为你给文件加密, 为你
提供一些保护。
   要开始编辑一个需要加密的新文件,可以用 "-x" 参数来启动 Vim。例如:

        vim -x exam.txt

Vim 提示你确定一个密码,用于为文件加密和解密:

        Enter encryption key: 

现在仔细键入那个密码。你所键入的字符将为星号代替,因此你看不到。为了避免由于
打字错误引起麻烦,Vim 要求你再输入一次密码:

        Enter same key again: 

现在你可以像平时一样编辑这个文件并把你所有的秘密放进去。当你编完文件要退出 Vim
时,这个文件就被加密存盘了。
   当你用 Vim 编辑这个文件时,它就会要求你再输入那同一个密码。你不需要用 "-x"
参数。你也可以用普通的 ":edit" 命令编辑加密的文件。Vim 给这个文件加上一句咒语,
据以识别那是经过加密的文件。
   如果你试图用另一个程序来阅读这个文件,你将读到一堆垃圾。如果你用 Vim 来编辑
这个文件,但输入了错误的密码,你也只能得到垃圾。Vim 并不具备检验密码正确性的机
理 (这一点使得破译密码更为困难)。


开 / 关 加 密

要给一个文件撤除加密,设定 'key' 选项为空字符串:

        :set key=

你下次把这个文件存盘时,存盘的文件就是未经加密的。
   设定 'key' 选项来启用加密是个坏主意。因为密码会被清清楚楚地显示在屏幕上。任
何人都可以偷看到你的密码。
   为了避免这样的问题,创造了 ":X" 命令。它会像 "-x" 参数向你索取一个密码:

        :X
        Enter encryption key: ******
        Enter same key again: ******


加 密 的 局 限 性

Vim 采用的加密算法有弱点的。它对于防止那种偷窥者是绰绰有余了,但不足以防止一
个手上有大量时间的密码专家。而且, 你应该知道交换文件是不加密的;所以当你在编辑
文件时,拥有超级用户权限的人能够读取未经加密的文件文本。
   不让人们读到你的交换文件的一个方法就是不使用交换文件。如果在命令行上用了 -n
参数,交换文件就不会被创建了 (Vim 把所有的东西都存放在内存里)。例如,要编辑经
过加密的文件 "file.txt",但不用交换文件,请用下面的命令:

        vim -x -n file.txt

如果你已在经编辑这个文件了,那么交换文件 swapfile 可以用下面的命令禁止:

        :setlocal noswapfile

由于没了交换文件,文件复原就不可能了。为了避免失去编辑的成果,要比平时更勤快地
存盘你的文件。

文件在内存中以明文形式存在。因此任何具备权限的人都能进入编辑者的内存浏览,从而,
发现这个文件的内容。
   如果你使用信息文件 viminfo,别忘了文本寄存器的内容也是明明白白写在其中的。
   如果你真的要保证一个文件内容的安全,那么,你必须永远只在一个不联网的可携式
计算机上编辑这个文件,使用优良的加密工具,并且在不用时,把你的计算机锁进一个
大保险箱。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • top 显示的%MEM 是什么意思呢?我把这些值加起来超过了100%,这怎么回事呢?(我运行oracle,它的多个进程加起来就超过了。。。)
  • vmware怎么优化?在vmware上装linux运行起来是不是特别慢?我在256内存的p4上安装,运行起来很慢!
  • php iis7站长之家
  • Gtk+与Qt谁学起来更容易?
  • apache启动不起来了
  • 安装VisualAge3.5后运行不起来
  • Apache 1.3.20和Tomcat 4能否结合起来?
  • 急!到底要多少内存WS+DB2才能跑起来?
  • 欢迎大家一起来讨论:集群在J2EE中的实现。
  • EJB调试起来好麻烦,请问各位有什么高招?
  • 把Resin+IIS结合起来使用以后,
  • 高分求教!!!!如何将数据库的查询结果组合起来?
  • 怎么把JTextField和JButton联系起来?????????
  • 如何将几个文件编译起来
  • solaris下如何把weblogic和apache的服务做成随开机自动起来,急急急!
  • 装好linux后,感觉里面的字体看起来好不爽..请问怎么改为像windows一样
  • Red Had Enterprise linux AS 4 上的 vsftpd 开不起来?
  • Linux系统刚启动起来的时候为什么会阻塞一下?
  • fedora core 6上的samba配不起来,求助
  • linux下QQ用不起来?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3