阿里云服务器购买之后如何登陆及创建新用户

购买阿里云服务器之后,假如操作系统是Centos7。
阿里云Centos7的特点是:登录后只有root用户。所以需要新增普通常用用户。Centos7本身一些软件比较老,需要更新。

阿里云服务器新用户优惠购买地址 https://www.aliyun.com/minisite/goods

所以我写这篇记录一下如何解决这些问题。
内容目录登录1、查看有哪些用户 2、查看用户密码  3、查看用户组  4、查看当前用户的用户组  5、查看当前用户是谁创建新用户1、创建新用户2、授权3、命令前加sudo执行和用真正的root用户执行有什么区别?更新软件,如VIM

登录不知道为什么我用Chrome登录到云服务器管理界面,无法正常显示平台样式,所以我换成Opera浏览器。服务器租下来的时候回自动分配给你一个名称,就相当于这个服务器的名字,也就类似自己买的电脑的名字,之后可以给自己的服务器起个名字,不过好像只能需改一次,所以各位自己慎重。这里我们不如叫它 aliyun。

还要说明第一点就是阿里云服务器部署的位置很多,所以要先选对自己所选的区,不然就会疑惑怎么看不到自己的服务器。
修改完实例的名称之后需要重启才会有效。
还需要设置服务器的实例密码,这个也即root权限的密码。
然后要把这个服务器创建实例,也就是让它实际运行起来。运行起来之后就可以登录了。

登录阿里云服务器有好几种办法。
第一种就用阿里云服务器自带的远程连接。在实例列表里就可以找到。
这种登录方法为了保障传输的安全,每次都需要输入一个6位密码。第一次登陆的时候会直接在面前显示,一定要记住。当然同时在[请输入远程连接密码:]的后面可以看到[修改远程连接密码],也就是可以改成自己记得住的6位数字。然后这个远程连接还会监控如果有5分钟没有活动就自动断开,再次连接的时候还需要再次输入连接密码。

第二种就是用各类ssh工具。这个我们以后说。
接下来先登录,第一次一般我建议先用阿里云服务器自带的远程连接。因为这个时候只有root账户,保险起见root账户就先不用ssh工具登录。
输完用户名 root 之后就是显示输入密码。这里输入上面提到的实例密码然后回车就可以。注意Linux下是不显示密码的,不要以为没输入反复输入。
这个时候电脑就显示:1[root@aliyun~]#  @ 符号前面的 root 就是本次的登录用户,管理员。@ 符号之后的 aliyun 就是我们给这台服务器起的名字。# 符号是在 root 权限下显示的输入提示符 。

但是我们知道一般情况下我们都是不能直接用root用户管理的,不然权限太高很容易出事故。所以我们需要新建一个普通用户用来日常工作。当然,在这之前可以先看看我们有哪些用户和用户组。

1、查看有哪些用户1[root@aliyun~]#less/etc/passwd
这时候就会显示系统里的所有用户。跟我们相关的就排头的root,其他的都是系统自己内部数据交换等需要建的用户。等我们建完新的用户后可以再输入一次看看是否新增了用户。这里还会显示用户的家目录位置、用的是什么shell等等,具体内容不细讲。tips:查看系统用户用到的命令是 less /etc/group

2、查看用户密码1[root@aliyun~]#less/etc/shadow
这里可以看到每个用户的登录密码。当然点进去是乱码,因为都是加过密的,不可能直接看到。

查看系统用户密码用到的命令是 less /etc/group 不过一般没什么用,都是加密过的,好处是更容易看清楚有哪些用户。

3、查看用户组1[root@aliyun~]#less/etc/groups
4、查看当前用户的用户组1[root@aliyun~]#groups
5、查看当前用户是谁1[root@aliyun~]#whoami
也就是 我是谁 的意思。

创建新用户1、创建新用户记得,我们现在要新建的用户叫 taobao 。大家也可以叫自己喜欢的名字。
1[root@aliyun~]#addusertaobao
这样就会直接新建一个用户,接下来系统会要求你输入这个用户的密码,而且会判断复杂度,如果过于简单会提示,不过可以忽略,不会不通过。建议还是设置的稍微复杂些,毕竟我们现在是在云服务器上,很容易被黑。而且不要用常用的密码,如果丢了就很惨。

2、授权新建的普通用户,只有在自己的home下才有完整权限,看其他别人以及root的目录需要授权。而对于需要root权限的时候,需要一开始在命令前输入 sudo 。新创建的用户并不能直接使用 sudo ,需要给他添加授权。sudo 命令的授权管理是在 /etc/sudoers 文件里配置。

可以先找一下 sudoers 文件在哪里:
1[root@aliyun~]#whereissudoers
2sudoers:/etc/sudoers/etc/sudoers.d/usr/share/man/man5/sudoers.5.gz
因为是这个文件控制所有用户的 sudo 权限,查看一下这个文件的权限(第二行是输出结果):

1[root@aliyun~]#ls-l/etc/sudoers
2-r--r-----1rootroot42519月2515:08/etc/sudoers
这里可以看到只有read读权限,我们需要修改这个命令的内容,所以要添加write权限(第二行是输出结果):

1[root@aliyun~]#chmod-vu+w/etc/sudoers
2modeof"/etc/sudoers"changedfrom0440(r--r-----)to0640(rw-r-----)
然后就可以添加内容了,在下面的一行下追加新增的用户:

1[root@aliyun~]#vim/etc/sudoers

小心找到这块内容(大概在60来行的样子):

1##Allowroottorunanycommandsanywher

2rootALL=(ALL)ALL
这里就是说允许哪些用户可以使用 sudo 。

所以我们用 vim 添加一行:
1taobaoALL=(ALL)ALL#这个是新增的用户

这样这段内容就如下:
1##Allowroottorunanycommandsanywher
2rootALL=(ALL)ALL
3taobaoALL=(ALL)ALL
这里命令的意思是:1授权用户主机=[(切换到哪些用户或用户组)][是否需要密码验证]
所以第一个 淘宝 就是用户名,接下来 ALL=(ALL) 就是指整台系统可以让该用户通过 suso 切换到使用哪些用户或者用户组的权限,再然后这个 ALL 就是说在任何情况下只要有 sudo 都需要输入密码。

所以最后一个也可以改成 NOPASSWD: ALL 。很明显,这个的意思是在任何情况下使用 sudo 都不需要输入密码,省时省力的办法。这样这段内容就成了:
1##Allowroottorunanycommandsanywher
2rootALL=(ALL)ALL
3taobaoALL=(ALL)NOPASSWD:ALL

不过后者不是特别建议,因为这样 taobao 这个用户的 sudo 的权限就太高了。除非 taobao 这个用户是比较高级的运维人员,不然生产环境下轻易不要这样。当然因为我们可能只是自己用,那么这么设置也没什么问题。不过我没这么设置,因为我怕时间久了会忘记密码。这里强调一下,sudo 之后要求输入的密码是当前这个用户,比如 taobao 的密码,而不是 root 的密码。

接下来我们就可以切换到新用户 taobao 了:这个时候要求输入 taobao 的密码,输入完毕就切换成功,第一次切换的时候系统还会提示:

1WetrustyouhavereceivedtheusuallecturefromthelocalSystem
2Administrator.Itusuallyboilsdowntothesethreethings:
3
4#1)Respecttheprivacyofothers.
5#2)Thinkbeforeyoutype.
6#3)Withgreatpowercomesgreatresponsibility.
第三点大概就是说你已经化身超人,肩负重任,请小心负责。

3、命令前加sudo执行和用真正的root用户执行有什么区别?sudo 用的是用户的环境。
例如,假如我在用户 taobao 环境中为vim配好了一套很习惯的配置,直接用root的话,那么vim就只是在root用户下的环境,我为taobao用户定制的屌炸天的插件都没有了,vim成了原始配置。而用sudo则可以保持用户taobao的环境。

如果用切换账号登录的方式使用root跟普通用户,那么你势必需要为root跟自己的普通用户同步配置两套环境,所有的常用的软件的配置都需要两套,久而久之,你发现维护两套环境太累了,这样的同步不如直接用root方便。然后,就变成了直接用root裸奔了。因而切换用户的机制实际上鼓励用root奔。

但有了sudo之后,就可以只为用户配置一套环境。获得root权限时仍然使用用户环境。这样,允许用户一直保持普通用户环境。

同样,当一个主机有多个管理员时,每个人可能都不喜欢别人给root环境中指定的配置,可能导致root用户的配置文件被改来改去,直至发生系统管理员之间的冲突。

有了sudo之后,每个人在root权限下都可以使用自己用户的环境配置,就可以只用定义自己用户的环境不修改root用户的配置文件,从而互相不影响了。

更新软件,如VIM阿里云的Centos7里的 vim 版本依然是7,而现在实际上已经更新到8了。所以我们需要更新一下。

这里网上提供的解决办法是:
1curl-Lhttps://copr.fedorainfracloud.org/coprs/mcepl/vim8/repo/epel-7/mcepl-vim8-epel-7.repo-o/etc/yum.repos.d/mcepl-vim8-epel-7.repo
23yumupdate-yvim*
第一步是用vim8的软件库代替现在的版本库。然后就是用 yum 自行更新了。

不过我在这里卡住了。运行之后提示:

1Filecontainsnosectionheaders.
2file:file:///etc/yum.repos.d/mcepl-vim8-epel-7.repoline:2
3‘?html****’
然后我看了一下 /etc/yum.repos.d/mcepl-vim8-epel-7.repo 这个文件,原来我用 curl 命令把那个页面的 HTML 给 down 下来了,其实正常不能用。

所以我直接打开

https://copr.fedorainfracloud.org/coprs/mcepl/vim8/repo/epel-7/mcepl-vim8-epel-7.repo ,

页面内容如下:

1[lbiaggi-vim80-ligatures]
2name=Coprrepoforvim80-ligaturesownedbylbiaggi
3baseurl=https://copr-be.cloud.fedoraproject.org/results/lbiaggi/vim80-ligatures/epel-7-$basearch/
4type=rpm-md
5skip_if_unavailable=True
6gpgcheck=1
7gpgkey=https://copr-be.cloud.fedoraproject.org/results/lbiaggi/vim80-ligatures/pubkey.gpg
8repo_gpgcheck=0
9enabled=1
10enabled_metadata=1
我把 /etc/yum.repos.d/mcepl-vim8-epel-7.repo 这里的所有内容清空,然后把上面的内容粘贴进去。这之后再次输入:

1yumupdate-yvim*
就成功更新安装 vim8 啦。
接下来就可以配置自己喜欢的vim格式。这个就不是本篇的重点,不过我还是可以多说几个。

比如可以用:
1vim~/.vimrc
.vimrc 是 vim 的配置文件。基本的常见的配置如下:

1setnu//这是设置显示行号
2setshowmode//设置在命令行界面最下面显示当前模式等。
3setruler//在右下角显示光标所在的行数等信息
4setautoindent//设置每次单击Enter键后,光标移动到下一行时与上一行的起始字符对齐
5syntaxon//即设置语法检测,当编辑C或者Shell脚本时,关键字会用特殊颜色显示
6······
常见配置还有很多,这篇就不适合讲了,下次再讲。

但是还有一个问题,就如上面提到的 root 用户和 taobao 用户的配置并不互通,因为配置一次 .vimrc 还是挺不容易的,所以我们希望配置一次之后,如果别人没意见,可以直接调用。

典型的就是我在 taobao 用户下哼哧哼哧配置完了 .vimrc ,然后有时候回到 root 下的时候那些配置都没有,就很不便利。

所以有一个办法,就是配置完 taobao 的 .vimrc,回到 root 之后,可以输入:

1aliasvim='vim-u/home/taobao/.vimrc'
这样 root 下使用vim, 就会调用我们已经配好的设置了。

当然,其实还有很多其他办法,比如在 root 权限下输入:

1ln-s/home/taobao/.vim/root/.vim
2ln-s/home/taobao/.vimrc/root/.vimrc
就直接让root 的文件软连接。

甚至可以做成继承和多态的效果。部分配置和你的一样,但是还保留可以修改个性配置的权利。

不过这个就不是我们要谈论的啦。