sudo权限管理
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
好久没有更新关于命令的博客了,这也是这周工作,开发问了我一个问题,说caiq这个用户为什么不能用sudo权限,于是百度了一下,2分钟吧问题给他解决了,于是我有顺便秒了一眼这个sudo权限的其他信息,发现里面的学问还真不少,现在将其分享给大家。
一.sudo权限
1.root把本来只能超级用户执行的命令富裕普通用户来执行。
2.sudo的操作对象是系统命令。
上面的最后一行“root ALL=(ALL) ALL”我们需要进行解释一下,它表示的是运行root用户,访问本机本机的所有命令,
a>.其中第一个ALL表示的是一个网段,如果只有一台主机的话,写成ALL或者是127.0.0.1都是没有关系的,一般情况下我们用不到,除非将多台服务器用户名和密码存储在同一个服务上去了,这个时候就会涉及到某些网段可以访问某台服务器的需求了(比如说NSF服务的控制)。才会用到这个第一个ALL的功能哟。换句话说,就是允许某一个用户执行某一条命令在哪一个计算机上;
b>.其中第二个ALL,我们可以理解是讲前面的那个用户当做ROOT来处理,比如“yinzhengjie ALL=(ALL) ALL”,意思就是将yinzhengjie这个用户当做root用户来操作的意思哟;
c>.第三个ALL,表示具体的命令,如果你写的是“yinzhengjie ALL=(ALL) ALL”的话,就表示yinzhengjie这个用户拥有所有的用户权限。可以说是和root没有太大差别了,这样做是不可行的,我们应该用绝对路径写具体命令。
案例剖析:
新增了授权命令,如果写的命令越具体,那么用户就使用的该命令的权限就越细致。就比如上面的操作,意思是yinzhengjie这个用户时可以对这台服务器做重启操作,但是如果你想做关机操作,对不起,这个权限真没有!当然,我们可以用sudo -l参数来查看我们可以使用那些root才可以使用的命令的。
温馨提示:
请不要将vi,vim这样的编辑工具授权给普通用户,如果你一旦授权给普通用户,那么他就就相当拥有了root身份,可以随意修改任何一个文件的内容,当然只要这个文件没有被锁定的话。这就很尴尬了,千万不要这么玩哟~小心引火上身啊。
接下来,我们切换到普通用户,看下实验效果:
有该文件的权限是600,其他用户压根就没有“r”权限,所以看不到内容:
别急,我们用用sudo权限,发现奇怪的事情发生了:
你会发现权限对它压根就没起作用,尴尬不?
当然,你也可以给组授权限,具体配置如下: