前提条件
- 你需要有一台云服务器,并且是Linux操作系统。这里我用的是阿里云的服务器
这里也分享一个:免费的阿里云服务器给大家使用。就是普通用户拥有root权限,仅供学习使用。 - 你会使用shell工具,链接Linux远程云服务器。这里我使用的是免费的finalshell。推荐使用,非常强大。
finalshell:http://www.hostbuf.com/downloads/finalshell_install.exe
Root用户创建普通用户
useradd arison
passwd arison
//输入密码和验证密码
all authentication tokens updated successfully. 代表普通用户创建成功!
切换普通用户并执行Root权限命令
//切换root到普通用户
su arison
//执行root权限命令
sudo -l
sudo -l :查看当前用户可使用的命令,仅限root用户可用。
提示:Sorry, user arison may not run sudo on iZ7zkqlxlmqwrcZ.
在这里arison用户还没有root权限。
而且arison用户也不能切换到Root身份。如图所示:
给普通用户赋Root权限-修改sudo配置文件/etc/sudoers
sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机,它默认的存放位置是/etc/sudoers
用Root身份给sudoers文件赋权
//查看文件权限
ls -l sudoers
我发现sudoers是一个只读文件,若要修改,必须修改权限。
//切换到etc目录
cd /etc
//用root身份给文件sudoers赋权
chmod 777 sudoers
这里我一不注意,就用普通用户arison身份对sudoers文件赋权,结果无效,因为普通用户没有这个权限,必须切回root用户才能进行赋权操作。
vim修改sudoers文件
有不了解vim命令的,可以百度下,这是linux下的文件编辑器。很常用,快去学习下vim 的相关命令吧。很简单的。
配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。
之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。
使用vim命令打开sudoers文件,并添加一行文字如图所示,保存文件修改并退出。就对普通用户进行了Root赋权了
保存退出,这样就完成了对boy添加root权限。
切换到ariso普通用户身份,执行sudo -l 命令检查是否赋了ROOT权限
奇怪了,报错了?
sudo:/etc/sudoers 可被任何人写 解决方案
问题:
sudo:sudo /etc/sudoers is world writable
sudo:no valid sudoers sources found ,quitting
sudo:unable to initialize policy plugin
解决方案:
sudoers的权限被改了,改回来就好了。
//必须把权限改回来。否者会报错
chmod 440 sudoers
登陆普通用户,测试权限
实际验证一下:
新建ssh链接 ,用arison用户和密码连接。
然后用sudo -i 命令来获取root权限。好了,大功告成!希望能帮到大家!