我需要安装一个软件包。为此我需要 root 访问权限。但是系统说我不在 sudoers 文件中。当我尝试编辑一个文件时,它发出类似的抱怨!如果我没有编辑 sudoers 文件的权限,我该如何将自己添加到 sudoers 文件中?
我已经安装了此系统,但只有管理员权限。我该怎么办?
编辑:我已经尝试过visudo
了。它首先要求我处于 sudoers 状态。
amarzaya@linux-debian-gnu:/$ sudo /usr/sbin/visudo
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for amarzaya:
amarzaya is not in the sudoers file. This incident will be reported.
amarzaya@linux-debian-gnu:/$
答案1
如果您可以在没有 sudo 或 root 权限的情况下将自己添加到其中,那么这将会是一个安全漏洞/etc/sudoers
。基本上任何人都可以成为 root。
基本上,您需要根据站点的政策,请求该机器的管理员添加您或为您安装软件包。
您还应确保使用 visudo 编辑 sudoers 文件 - 它会在写入文件之前检查语法是否正确。并且您可以将 vi 以外的编辑器与 visudo 一起使用。默认情况下,它将使用您设置的任何内容$EDITOR
,如果您没有设置,您可以这样做
# EDITOR=nano visudo
改用 nano 编辑器。
答案2
以 root 身份登录并使用/usr/sbin/visudo
编辑文件并添加您的用户名。普通 vi/vim 将无法编辑该文件。
最简单的方法是一直往下看,直到看到“ root ALL=(ALL) ALL
”行,然后使用相同的语法 ( yourusername ALL=(ALL) ALL
) 将自己添加到该行下。或者,您可以阅读sudoers 手册页如果您想赋予自己更具体的权限。
答案3
只需输入命令:
$ su
然后要求输入密码“root”。输入后,砰的一声……成功了!
这个问题是我的错。由于当时我已回到设施,所以我创建了用户名和密码。
答案4
如果你的 sudoers 文件已经包含这样的行
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
然后,最干净的做法可能是将该admin
组授予您的用户。例如,添加用户神谕admin
团体:
usermod -aG admin oracle