We can't find the internet
Attempting to reconnect
想要使用`iftop`查看一下网卡流量,发现这个命令需要root权限才可以使用,又不想切换账号,所以,使用sudo来执行这个命令就成了解决方案。
### 使用`sudo`与配置`/etc/sudoers`文件
使用sudo需要了机sudoers配置文件,文件保存在`/etc/sudoers`里。
文件内容:
```sudoers
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
root ALL=(ALL:ALL) ALL
%wheel ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
```
第一行 `Defaults env_reset`表示重置所有用户环境变量。
第二行`Defaults mail_badpass`表示回发邮件(默认是root)提示用户使用了badpass。
第三行`Defaults secure_path=`表示sudo操作使用时的`PATH`环境变量。
* `root` ALL=(ALL:ALL) ALL
第一个字段表示允许使用sudo的用户,如果使用%开头则表示用户组。
* root `ALL`=(ALL:ALL) ALL
第一个ALL表示可以在所有主机上使用。
* root ALL=(`ALL`:ALL) ALL
这个ALL表示可以以任意用户身执行命令。
* root ALL=(ALL:`ALL`) ALL
这个ALL表示可以使用任意用户组身份来执行命令。
* root ALL=(ALL:ALL) `ALL`
最后一个ALL表示可以执行所有命令,可以添加前缀`NOPASSWD:` 表示不需要验证密码。如:
`Jonathan ALL=(ALL:ALL) NOPASSWD:ALL`
最后一行`#includedir /etc/sudoers.d`表示会读取所有在`/etc/sudoers.d`目录下的配置(开头的#并不是说这个是注释)。
#### 使用别名
可通过定义别名来简化配置
主机别名:
```sudoers
Host_Alias MAILSERVERS = smtp, smtp2
```
用户别名:
```sudoers
User_Alias ADMINS = jsmith, mikem
```
命令别名:
多条命令使用`,`分割
```
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
```
### 危险⚠️
注意⚠️: 如果操作系统没有root账户,编辑sudoers文件中出现格式错误,会导致所有sudoers用户无法使用sudo权限,系统无法被管理。