今天我学习时,发现一个小问题,正在用secure-CRT远程登陆着linux服务器(当然都是在虚拟机环境下的,我是个linux新手)如果是高手就可以不用看了。

情况描述:一开始是我在用visudo  编辑内容,不过中间不知为什么,S-CRT客户端就死掉了。于是我重新登陆,因为vi编辑的文档没有退出,也有保存。所以在我再次运行visudo命令时。出现了下面的提示:注意红色部分,我想可能很多朋友都可能会遇到,他就是我学习时的一个拦路虎,今天不解决他,说不定哪天他就又给我添麻烦,扯远了,呵呵

这是我的操作记录:

[root@******* ~]# visudo
E325: ATTENTION
Found a swap file by the name "/etc/.sudoers.tmp.swp"
          owned by: root   dated: Wed Apr 10 08:55:49 2013
         file name: /etc/sudoers.tmp
          modified: YES
         user name: root   host name: yuantingyong
        process ID: 31468
While opening file "/etc/sudoers.tmp"
             dated: Wed Apr 10 08:08:29 2013

(1) Another program may be editing the same file.
    If this is the case, be careful not to end up with two
    different instances of the same file when making changes.
    Quit, or continue with caution.

(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /etc/sudoers.tmp"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/etc/.sudoers.tmp.swp"
    to avoid this message.

"/etc/sudoers.tmp" 100L, 3402C
………… 
####这(1)的意思就是提示我们注意我们正在操作的文件已经有一个和这个相同的正在编辑,提示我们注意是不是在编辑同一个文件,就像在windows下在两个地方打开了同一个文件,都在同时修改主样,

我认为重要的是(2)提示,2的提示意思如果我们当前正在打开要编辑的文件如果和另一个中断的是同一个文件,我们可以用命令:/vim -r /etc/sudoers.tmp  进入文件,然后进行修改和处理,然后正常保存退出,然后删除另外一个带.swp,我是这么理解的,sudoers.tmp和.sudoers.tmp.swp其实是同一个文件,不过一个是在缓存文件,一个是原来的文件,我们只要把其中一个把处理好,并保存好,就行了。就可以把另一个删除了,也可以把两个文件分别处理,然后再比较这两个文件,然后决定留哪个文件,看哪个是我们需要的。
下面是我的处理办法,仅供参考
[root@******* ~]# vim -r /etc/sudoers.tmp   ##-->提示:我用vim -r恢复文件,修改好后保存
使用交换文件 "/etc/.sudoers.tmp.swp"
原始文件 "/etc/sudoers.tmp"
"/etc/sudoers.tmp" [新文件]
恢复完毕。请确定一切正常。
(你可能想要将这个文件另存为别的文件名
再运行 diff 与原文件比较以检查是否有改变)
然后把 .swp 文件删掉。

## Sudoers allows particular users to run various commands as
#………………………………中间省略了一些显示的内容
# User_Alias ADMINS = jsmith, mikem
[root@******** ~]# rm /etc/.sudoers.tmp.swp ##-->删除另一个隐含的并且后缀加了.swp的文件
rm:是否删除 一般文件 “/etc/.sudoers.tmp.swp”? y

就这样我就把他搞定了。希望对有些朋友有帮助。如有转载请注明出处。