作者iamivers0n (啾东)
看板Editor
标题Re: [vim ] 新手入门再次请问一下?
时间Fri May 24 16:02:10 2013
※ 引述《darkgerm (黑骏)》之铭言:
: 想回的东西有点多~ 用回文好了
: $ sudo vim
: 这样是以 root 的身份执行 vim,所以读的是 root 的设定档
: 但若以系统管理的角度来看,有执行 vim 的权限就相当於有 root shell
: 怎麽说?在 vim 里可以用 :sh 进到 shell XD
: 也就是说,如果今天是用 sudo vim 执行 vim,我可以透过 :sh 来得到 root shell
: 因此,在多人管理的系统中,除非是本来就有 root 权限的管理者
: 不然一般维护人员是不可以 sudo vim 的
这个应该可以用 rvim 或者 sudoers 里的 NOEXEC 来解
两个都是不让 user 有机会 fork 出新的 shell 来用
: 另一方面,sudo vim 读的是 root 的设定档
: 於是需要复制一份而且更新时要同步更新... (好啦,这其实可以用 link 做到)
其实 vim search 的是你的 $HOME/.vim{/,rc}
只是因为 sudo 跑起来会把 $HOME 换掉, 以 root 来说就是 /root
所以才会变成吃不到自己 vim 的设定
原原 po 的问题其实可以这样解:
在 sudoers (用 visudo 改) 里面加上
Defaults env_keep +="HOME"
让 sudo 跑起来的时候保留自己的 $HOME
这样就能顺利吃到自己 $HOME 下面的 vim 设定了
不需要多 copy 一份到 /root 下
btw, 因为某些程式 (ex. visudo) 也会看 $EDITOR 的设定决定跑起来的编辑器
所以通常我在 sudoers 都会把 EDITOR 也写进去:
Defaults env_keep +="HOME EDITOR"
提供给原原 po 参考
: [deleted]
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.xx.xxx
↖ こ...これは
(°口°)(°口°)!!
╲
╱ └█
︴︴ ㄥㄥ
ψQSWEET
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.235.135
1F:推 hSATAC:推这篇 05/24 20:38
2F:推 darkgerm:保留env确实是不错的做法!! 05/25 00:30
3F:→ darkgerm:不过有时 sudoers 是动不到的就是了XD 05/25 00:30
4F:推 zarcen:我也是用这个方法 05/25 08:23
5F:推 qwertmn:这方法好XD 受教 05/25 19:15
6F:推 Bellkna:有用有推XD 05/25 23:16
7F:推 upyours:好方法! 06/03 12:05