环境:CentOS 7 虚拟机



今天打开虚拟机,发现,咦?我擦,我的 vim 配置哪去了?
su - 切换到超级用户,发现 vim 配置可以正常使用,怎么回事呢?
一番资讯、查找与研究后,原来是在配置 vim 的时候没有用 sudo

一、命令前加 sudo 执行和真正的 root 用户执行的区别

在知乎上看到这样的解释:

sudo可以用 用户 的环境。
例如,假如我在用户pansz环境中为vim配好了一套很习惯的配置,直接用root的话,那么vim就使用root用户的环境了,我为pansz用户定制的屌炸天的插件都没有了,vim成了原始配置。而用sudo则可以保持用户的环境。
如果用切换账号登录的方式使用root跟普通用户,那么你势必需要为root跟自己的普通用户同步配置两套环境,所有的常用的软件的配置都需要两套,久而久之,你发现维护两套环境太累了,这样的同步不如直接用root方便。然后,就变成了直接用root裸奔了。因而切换用户的机制实际上鼓励用root裸奔。但有了sudo之后,就可以只为用户配置一套环境。获得root权限时仍然使用用户环境。这样,允许用户一直保持普通用户环境。
同理,当一个主机有多个管理员时,每个人可能都不喜欢别人给root环境中指定的配置,可能导致root用户的配置文件被改来改去,直至发生系统管理员之间的恶性冲突流血事件(逃)。有了sudo之后,每个人在root权限下都可以使用自己用户的环境配置,就可以只用定义自己用户的环境不修改root用户的配置文件,从而互相不影响了。

看完之后,一拍脑门,原来如此啊!!!

之后呢,在码云上找到一个适合CentOS7 的vim配置
那我也把链接分享给大家,希望对大家有点帮助 :https://gitee.com/HGtz2222/EasyVimConfig
之后就很开心啊,我就

由于要下载一些东西啊,要确保虚拟机联网了联网了联网了

sudo curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o /tmp/install.sh && bash /tmp/install.sh

按下 enter 之后,然后让我输入 [sudo] passwd:
我输入了 root 用户的密码,然后就僵硬了

zbq is not in the sudoers file.  This incident will be reported.

说 zbq 不在 sudoers 文件中啊

二、xxx is not in the sudoers file. This incident will be reported. 的解决办法

1.切换到root用户下
su -
2.添加sudo文件的写权限,命令是:
cd /etc/
在 /etc/目录下有一个文件叫做 sudoers,是没有写权限的,我们给他加上写权限
chmod u+w /etc/sudoers
3.编辑sudoers文件
vim /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加
xxx ALL=(ALL) ALL
(这里的xxx是你的用户名)
ps:这里说下你可以sudoers添加下面四行中任意一条
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL
第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.
4.撤销sudoers文件写权限,命令:
chmod u-w /etc/sudoers

这样普通用户就可以使用sudo了
然后,嘿嘿嘿,你懂的,万事俱备啊,当机立断,敲下命令

sudo curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o /tmp/install.sh && bash /tmp/install.sh

然后他就自动配置 vim 了
哦,再说一下 要连网

。。。

之后就很开心啊,普通用户和root用户都可以用vim配置了,希望对你有用:)

Logo

更多推荐