centos7 sudo命令详解

1.sudo权限的含义

  • root把本来只能超级用户执行的命令赋予普通用户执行
  • sudo的操作对象是系统命令。比如关机、重启、添加一个其他的普通用户等…

2.sudo的使用

1.首先需要管理员root赋予某个用户sudo权限

[root@localhost mnt]# visudo
#实际修改的是/etc/sudoers文件

centos7 sudo命令详解_第1张图片
由上图可知:第一个字段代表用户名(组名),第二个字段ALL=(ALL)中第一个ALL主要指的就是本机,小括号中的ALL表示可以使用的身份(ALL主要表示root身份),最后一个ALL代表授权命令为所有命令。

那么,chenjie ALL=(ALL) ALL就表示给chenjie用户在本主机下能使用root用户的所有命令的权限。
%wheel ALL=(ALL) ALL就表示给wheel组内所有用户在本主机下能使用root用户的所有命令的权限。

给普通用户chenjie所有的root权限当然是不合理的,所以应该用绝对路径写一些具体的命令,如下:
centos7 sudo命令详解_第2张图片
上图红色框内表示给chenjie用户在本机下拥有/usr/sbin/shutdown -r now的权限

2.查看chenjie用户可用的sudo命令

#先切换到chenjie用户
[root@localhost mnt]# su - chenjie
#查看该用户所拥有的sudo的权限
[chenjie@localhost ~]$ sudo -l

如下图所示:
centos7 sudo命令详解_第3张图片

3.普通用户执行sudo命令的方式

只要能看到第2步该用户的sudo权限,就可以执行了

[chenjie@localhost ~]$ sudo /usr/sbin/shutdown -r now

如下图所示:
这里写图片描述
实际上过程是,chenjie用户在执行这条命令时会切换为root用户去执行

你可能感兴趣的:(Unix-Linux)