CentOS给用户赋予sudo权限
CentOS赋予用户sudo权限
前言
CentOS7和8中,普通用户默认是完全不具备sudo权限的,虽是处于安全考量,但如果是个人主机或服务器,在日常使用中还是会有诸多不变,比如想查看一下磁盘占用量,却发现因为有些目录没有访问权限而无法执行,每次都要切换root环境还是比较繁琐的,因此这里介绍如何给普通用户赋予全部或者部分的root权限,方便日常的学习和工作.但如果是企业级的节点,需要谨慎操作,最好只开放其所需要的一部分sudo权限即可,切忌全面提权.
方法
sudo权限的配置文件为/etc/sudoers
,或者直接用visudo
命令可以快捷编辑sudoers文件,但理所当然,这是需要root权限的,因此需要切换到root环境.另外,直接编辑sudoers文件如果发生一些错误,可能会导致被永远锁定在主机之外,因此用visudo软件进行修改是一种更为稳妥的方式,visudo是一种工具,可以在保存sudoers文件之前检查输入的命令的完整性和正确性
打开文件后,找到如下图所示的段落:
我们可以看到这里的格式为:
ALL ALL=(ALL) ALL
关于这四个ALL是什么意思:
the first ALL is the users allowed
the second one is the hosts
the third one is the users as you are running the command
the last one is the commands allowed
翻译一下就是说:
第一个ALL是要提升权限的用户名
第二个ALL是主机名
第三个ALL是能够切换的用户(su即switch user)或者组,用户和组之间用:
分隔
第四个ALL是切换用户之后所能执行的命令
举例:
alan ALL=(root,Jamie : system, operator) ALL
即alan用户既可以切换为root用户,也可以切换为Jamie,既可以切换到system组,也可以切换到operator组,并可以执行所有命令.
参考
- sudo配置文件/etc/sudoers详解及实战用法
- sudo(5)和sudoers(8)手册
- 如何在CentOS 8上将用户添加到Sudoers