利用sudo控制用户对系统命令的使用权限

sudo相关概念

普通用户涉及到超级权限的运用,管理员如果想让该普通用户通过su来切换到root获得超级权限,就必须把root权限密码告诉用户。但是如果普通用户有了root权限,可以通过root权限做任何事,这会对系统的安全造成一定的威胁。

sudo是一种权限管理机制,管理员可以授权于一些普通用户去执行一些root执行的操作,而该普通用户而不需要知道root的密码,它依赖于/etc/sudoers这个文件,可以授权于某个普通用户在主机上能够以管理员的身份执行什么样的管理命令,而且是有限的。这个文件相当于就是一个授权表。

实例

visudo= vi /etc/sudoers

这里写图片描述

语法
user MACHINE=COMMANDS

  • user想要分配的用户
  • MACHINE希望用户管理的机器
  • COMMANDS希望用户拥有哪些权限(权限以命令为单位)

root ALL=(ALL) ALL
括号里表示允许该用户以哪个用户的权限去做事。

(1)

此时的Ian普通用户就相当于root了。
这里写图片描述

但普通用户Ian在执行root操作时,必须得在命令前面加sudo,不然还是不能执行的。执行root操作时,需要的密码也不再是root超级用户的密码,而是普通用户的密码。
这里写图片描述

(2)

这里写图片描述

[root@muban ~]# which useradd  #which 查看命令所在路径
/usr/sbin/useradd

这里写图片描述


版权声明:本文为codeTZ原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。