sudo super user do

sudo super user do

Linux sudo 命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

sudo 执行命令的流程

将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户。

具体工作过程如下:

  1. 当用户执行 sudo 时,系统会主动寻找 /etc/sudoers 文件,判断该用户是否有执行 sudo 的权限

  2. 确认用户具有可执行 sudo 的权限后,让用户输入用户自己的密码确认

  3. 若密码输入成功,则开始执行 sudo 后续的命令

配置 /etc/sudoers 文件

参考文件:linux sudo 与 /etc/sudoer的配置

通过输入 visudo 编辑

在最后输入:

lk ALL=(ALL) NOPASSWD: ALL

这个配置的意思就是,lk 用户可以在任意主机上不输入密码的情况下以任意用户执行任何指令

其中特别要注意别名。为了方便配置,我们一般都会对一些命令进行了分类,/etc/sudoers 文件中的 Cmnd_alias 即为某些具有相同功能或者相同性质的命令取别名,即为分类。

## 表示注释,# 后才是别名的设置

别名为了规范一定大写。

别名大致分为四种:

分别对应配置的几个部分:User_Alias Host_Alias=(Runas_Alias) Cmnd_Alias

一个简单的例子:

lk ALL=(ALL) NOPASSWD: NETWORKING:允许 lk 这个 user 在任何主机上在不输入密码的情况下以任何用户的方式执行 network 相关的命令。

配置好/etc/sudoers 之后即可开始使用 sudo 命令,用法很简单,在命令的前面加上 sudo 即可,比如 sudo chgrp 等等