安装完CentOS后日常使用建议使用普通用户登录,因为root权限太高,即使在测试环境也不要用root用户登录,防止习惯使用root后在生产环境操作时产生意想不到的后果。
当普通用户需要临时提权时用sudo命令,仅需要输入当前用户的密码,便可完成临时的权限提升。用户第一次执行sudo时会要求输入密码来验正用户身份,成功后用户会获得一个有固定存活时长的“令牌”;5分钟。但是sudo命令过程中可能会提示以下报错:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [winbug@centos7 ~]$ sudo ls [sudo] winbug 的密码: winbug 不在 sudoers 文件中。此事将被报告。
or
[winbug@centos8 ~]$ sudo ls
我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点:
#1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。
[sudo] winbug 的密码: winbug 不在 sudoers 文件中。此事将被报告。
|
出现以上问题解决很简单,通过修改/etc/sudoers文件增加用户到配置文件,即可生效。
1、切换到root用户下:
1 2 3
| [winbug@centos7 ~]$ su 密码: [root@centos7 winbug]#
|
2、查看/etc/sudoers文件的读写权限
1 2
| [root@centos7 winbug]# ll /etc/sudoers -r--r-----. 1 root root 4328 11月 28 02:38 /etc/sudoers
|
查看为440权限无写权限,需要添加可写权限。
3、为/etc/sudoers文件添加可写权限,目前是root用户,只需要给root用户添加读写执行权限即可。
1 2 3
| [root@centos7 winbug]# chmod 740 /etc/sudoers [root@centos7 winbug]# ll /etc/sudoers -rwxr-----. 1 root root 4328 11月 28 02:38 /etc/sudoers
|
4、用文本编辑器打开配置文件(这里我用的是vim),编辑/etc/sudoers文件,添加要提升权限的用户;在文件中找到root ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:
1 2 3 4 5
| [root@centos7 winbug]# vim /etc/sudoers ... root ALL=(ALL) ALL winbug ALL=(ALL) ALL ...
|
说明:格式为(用户名 网络中的主机=(执行命令的目标用户) 执行的命令范围)
3、保存退出,并恢复/etc/sudoers的访问权限为440
1 2 3
| [root@centos7 winbug]# chmod 440 /etc/sudoers [root@centos7 winbug]# ll /etc/sudoers -r--r-----. 1 root root 4328 11月 28 02:38 /etc/sudoers
|
4、切换到普通用户,测试用户权限提升功能
1 2 3 4 5 6
| [root@centos7 winbug]# exit exit [winbug@centos7 ~]$ sudo ls [sudo] winbug 的密码: 公共 模板 视频 图片 文档 下载 音乐 桌面 [winbug@centos7 ~]$
|