Linux错误之”用户不在sudoers文件中,此事将被报告“

您所在的位置:网站首页 医学vpu是什么意思 Linux错误之”用户不在sudoers文件中,此事将被报告“

Linux错误之”用户不在sudoers文件中,此事将被报告“

#Linux错误之”用户不在sudoers文件中,此事将被报告“| 来源: 网络整理| 查看: 265

Linux系统操作作为后端开发必须掌握的技术之一,已经越来越多的成为我们工作的一部分。初入职场、首次接触Linux,面对满屏的操作命令,谁又不会怀念windows的界面呢,不过慢慢的就会发现用命令行敲击起来还是蛮爽的,毕竟我们可以"咔咔咔咔"的敲击键盘来证明我们那饱满的工作量!今天就和大家分享一个自己敲击命令遇到的小问题,希望大家都不会遇到。linux,yyds!

问题描述

在使用普通用户登录Linux系统时,由于需要root权限来执行一些操作,使用sudo su命令来将用户权限提升到root,执行并输入普通用户密码时提示错误:"...用户不在sudoers文件中,此事将被报告" ,由此引发了一场Linux小白对su、sudo命令的学习和探究。

产生原因

首先我们来学习一下su、sudo相关命令的执行结果:

sudo ..:sudo后跟命令,表示当前用户以root身份权限执行命令操作,需要验证当前用户密码,命令执行完成后退回到当前用户,sudo命令执行时需要用户在sudoers中有权限 sudo su:使用sudo 给su命令提权, su root:切换至root用户,验证root密码,不改变所在目录,不改变环境变量 su:等同于su root(用户缺省时默认为切换至root用户) su - root:切换至root用户,并进入到root用户对应目录下,改变环境变量 su xxx:切换至xxx普通用户,root用户切换至普通用户不需要输入密码 因此我们可以对sudo su命令进行分析,sudo表示我们需要提升当前用户的权限为root用户权限,并使用root用户权限来执行su命令,我们发现执行sudo命令是需要在sudoers文件中需要写入当前普通用户的权限,如果执行时文件中没有当前用户的权限,就会提示 "...用户不在sudoers文件中,此事将被报告" 。 解决办法

既然找到问题的出现原因,那么我就可以采取办法来解决问题,正所谓只要思想不滑坡,办法总比问题多。既然是因为当前用户执行sudo命令时没有权限,那么我们就给他加上这个权限,问题不久解决了嘛!sudoers配置文件存在于Linux系统的/etc/sudoers路径下。

我们首先使用命令su root切换至root用户,此时需要验证root用户密码 然后我们查看/etc/sudoers文件内容是否包含当前用户权限 如果没有权限,使用命令vim /etc/sudoers编辑文件增加shone用户的sudo权限 ## root用户默认存在 root     ALL=(ALL:ALL) ALL ## 代表为shone用户添加了sudo命令的权限 shone   ALL=(ALL:ALL) ALL 复制代码 注意/etc/sudoers文件的权限是440只读文件,编辑文件内容后无法正常保存退出 chmod u+w /etc/sudoers,增加写入权限 chmod 740 /etc/sudoers,增加root用户的全部权限(4+2+1=7) 编辑完成后使用命令:wq!强制保存修改 最后我们使用命令su shone切换至普通用户,重新测试sudo命令权限已经增加成功

作为新手,在平时的工作学习中,我们要保持好奇心,遇到问题不仅要知其然,也要尽力去知其所以然,只有如此我们才能在工作中不断积累、不断学习、并不断进步,终究有一天我们会真正进入到领域中,而不是永远作为一个在入门处徘徊的幽灵。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3