[username] 不在 sudoers 文件中。此事将被报告。

遇到问题

最近,为了配置gitlab开发环境,就在Ubuntu 16下创建了一个新的账号:gitdev。但是在gitdev账号下,切换其他用户,输入密码就会提示如下错误:

gitdev@amars:/home$ sudo su
gitdev 不在 sudoers 文件中。此事将被报告。

分析原因

究其原因,主要还是用户gitdev没有权限执行sudo。
因为有权限的用户都在/etc/sudoers中,所以只要在/etc/sudoers中添加gitdev用户即可。

解决方法

通过vim打开/etc/sudoers文件:
root@amars:/home# vim /etc/sudoers
如下添加gitdev权限(替换成自己的账号名):

# User privilege specification
root    ALL=(ALL:ALL) ALL
gitdev  ALL=(ALL:ALL) ALL

注:sudoers的权限是0440,即只有root读权限。在用root或sudo修改完之后,强行保存(wq!)即可。

配置解释

其中,gitdev ALL=(ALL:ALL) [NOPASSWD:ALL] ALL即为:

授权用户/组 主机  =[(切换到哪些用户或组)] [是否需要输入密码验证] 命令1,命令2,...
字段1      字段2  =[(字段3)] [字段4] 字段5

字段1表示"将要授权的用户", 比如例子中的gitdev;
字段2表示允许登录的主机, ALL表示所有; 如果该字段不为ALL,表示授权用户只能在某些机器上登录本服务器来执行sudo命令;
字段3如果省略, 相当于(root:root),表示可以通过sudo提权到root; 如果为(ALL)或者(ALL:ALL), 表示能够提权到(任意用户:任意用户组);
字段4的可能取值是NOPASSWD:。请注意NOPASSWD后面带有冒号:。表示执行sudo时可以不需要输入密码。
字段5是使用逗号分开一系列命令,这些命令就是授权给用户的操作; ALL表示允许所有操作。
详细请参考:sudoers的深入剖析与用户权限控制

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值