注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

笑遍世界@网易博客

明天还会在路上……

 
 
 

日志

 
 
关于我

Stay hungry, stay foolish. 工作用脑,生活用心! 走过山重水复,必然迎来柳暗花明! 受苦的人没有悲观的权利,远征的人没有流泪的资格。 Live each day as if we should die tomorrow.

网易考拉推荐
 
 

vim中保存root权限的文件  

2011-10-29 00:24:39|  分类: Linux技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在Linux,我使用普通用户,并且没有sudo 就直接用vim 编辑/etc/内的文件,等编辑好了之后,使用vim保存时,得到提示说文件无法保存,这时候才发现没权限。针对这种问题,我收集了如下几种解决方案。
1. vi /etc/httpd.conf 保存时,用命令 :w !sudo tee %
    :w - Write a file.
    !sudo - Call shell sudo command.
    tee - The output of write (vim :w) command is redirected using tee. The % is nothing but current file name i.e. /etc/httpd.conf. In other words tee command is run as root and it takes standard input and write it to a file represented by %. However, this will prompt to reload file again (hit L to load changes in vim itself).
强烈推荐这一种用法。不过,首先得保证运行vim的用户有sudo的权限。
关于用户的sudo权限可以参考这里:
http://www.51testing.com/?uid-225738-action-viewspace-itemid-216699
2.编辑用户$HOME/.vimrc文件将第一种方案的比较难记的命令重命名一下,下次可以直接使用。
   vim $HOME/.vimrc  添加如下的一句话,并保存。
   command -nargs=? Sudow :w !sudo tee %

    (补充一下,.vimrc中自定义命令必须以大写字母开头,这是vim的规定。)
   今后用vim编辑时,需要sudo保存时,直接用此处定义的Sudow命令保存即可。
3. 先保存到一个临时文件中,然后用root去拷贝它去覆盖需要编辑的文件。
    可能用user账号打开的一个文件,vim /etc/httpd.conf,然后在vim编辑号后,用:w /tmp/httpd.conf即可保存为一个临时文件。
4. 使用vim之时直接用sudo vim也可以,哈哈,如  sudo vim /etc/httpd.conf

参考资料:
http://www.sar4.com/2010/10/15/vim%E6%88%96vi%E4%B8%AD%E4%BF%9D%E5%AD%98readonly%E6%96%87%E4%BB%B6.html

  评论这张
 
阅读(3314)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017