为什么需要sudo?

在linux中,如果你是普通用户,想要执行管理员才有权限的命令,那么大概有以下三种途径:

  1. 通过su - root 命令切换为root用户,这时必须知道root的密码(可能造成root用户的泄露)
  2. 把自己加入到root 组中
  3. 通过配置/etc/sudoers把自己加入到sudo中

如何配置/etc/sudoers?

在这里插入图片描述
如图,显然root用户可以使用sudo命令,-u参数指定用户。
而当使用test1账户执行sudo时:
在这里插入图片描述
显示不是sudoers file
当然也没有创建用户的权利:在这里插入图片描述

通过visudo 来配置/etc/sudoers文件

visudo 是一个专门用来配置/etc/sudoers文件的命令,当然也可以通过 vi /etc/sudoers来配置,现在使用visudo来配置,先找到:
在这里插入图片描述
就是在这里配置sudo的用户,现在把test1加进去:
在这里插入图片描述
试一下新建用户:
在这里插入图片描述
成功新建了用户,表明test1用户拥有了管理员功能

进阶

利用群组以及免口令的功能处理 visudo

我们曾经创建过test1,test2,这两个用户能否透过群组的功能让这两个人可以管理系统? 可以的,而且很简单!同样我们使用实际案例来说明:
找到如下内容:在这里插入图片描述
去掉前面的#
上面的配置值会造成『任何加入 wheel 这个群组的使用者,就能够使用 sudo 切换任何身份来操作任何命令』的意思。 你当然可以将 wheel 换成你自己想要的群组名。

我们将 test2加入wheel群组,再试试:
在这里插入图片描述

在这里插入图片描述
可以看到test2也可以使用sudo命令了
不过还有个问题,那就是每次执行sudo命令时都需要输入密码,比较麻烦,有没有解决方法呢,当然是有的:
找到以下一行:在这里插入图片描述
去掉 %wheel前面的 #就行了。保存并退出就可以了

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐