解决 user is not in the sudoers file. This incident will be reported 问题
这个问题我只在使用 Ubuntu 系统的时候出现过,因为很久没有使用其它系统了,所以也不知道是不是都是一样的,会遇到这种问题,这个问题发生的原因是因为系统默认没有开启 sudo 权限,解决办法很简单:
pantao@aliyun:~$ sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
[sudo] password for pantao:
pantao is not in the sudoers file. This incident will be reported.
pantao@aliyun:~$ su
Password:
root@aliyun:/home/pantao# chmod u+w /etc/sudoers
root@aliyun:/home/pantao# vi /etc/sudoers
root@aliyun:/home/pantao# chmod u-w /etc/sudoers
root@aliyun:/home/pantao# exit
exitsudo ap
pantao@aliyun:~$ sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
[sudo] password for pantao:
pantao@aliyun:~$在上面的代码中,最开始我是要备份软件源,但是因为我不在 sudoers 文件中,所以系统不允许我在 /etc/ 目录下面执行写操作,然后运行 su ,输入 root 用户密码之后切换到超级用户,然后:
- 修改 /etc/sudoers 文件权限,让所有者可写
- 打开该文件,并在 root ALL=(ALL:ALL) ALL 这一行下面添加:
pantao ALL=(ALL) ALL
请将 pantap 修改成为你自己的用户名 - 按 ESC 键退出编辑状态,再输入 :wq 保存修改并退出编辑器
- 去掉该文件的写权限
- 退出 root 帐户
- 现在已经可以正常使用 sudo 了。
最终修改后的文件片段如下:
[...]
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
pantao ALL=(ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
[...]
评论已关闭