我已经成功安装了 Server 19.10.1,然后在单个 Raspberry Pi 4(4GB)上运行了桌面(Mate)。我选择了 32 位版本,因为听说 64 位版本不太稳定。(如果不是这样,请反驳我。)我的问题是安装创建了一个名为 的密码帐户ubuntu
,但这似乎是 root。我没有注意到在执行 时sudo apt-get install
,我没有被提示输入密码,也就是说,这一定是 root,对吗?顺便说一句,在我注意到这一点之前,我轻松地安装了许多软件包,移动了文件。所以,我认为我真的应该创建一个具有sudo
权限的“普通”Ubuntu 帐户?然后我应该将这个原始/home/ubuntu
用户/组中的所有内容移动到普通帐户?我担心这个问题的主要原因是我是一名教师,我想设置许多 RPi4,而它们不能都是具有ubuntu
自动 root 权限的用户。我现在能做什么?顺便说一句,这是我的文件的内容/etc/sudoers.d/90-cloud...
:
ubuntu ALL=(ALL) NOPASSWD:ALL
这毫无疑问就是为什么没有人询问我的密码。
答案1
您可能以 ubuntu 用户身份运行(请检查whoami).
以下行:
ubuntu ALL=(ALL) NOPASSWD:ALL
不在默认配置中,它是由添加者添加的/etc/sudoers.d/90-cloud...
(可能是您的托管服务提供商)。他们这样做可能有某种原因。它允许用户ubuntu
以任何用户身份在任何主机上运行任何命令,而无需询问他的密码。
通常情况下(即在默认配置中)有一行/etc/sudoers
:
%sudo ALL=(ALL:ALL) ALL
允许sudo
组中的用户以任何用户和组的身份在任何主机上运行任何命令。
当您创建新帐户时,您只需将其添加到sudo
组中:
adduser user_name
adduser user_name sudo
如果你想将ubuntu
用户转换为“普通的”一:
- 始终保持 root shell 处于打开状态(
sudo -i
打开 root shell)。如果出现问题,您将失去 root 权限。 检查是否
ubuntu
有密码并添加到sudo
组:passwd ubuntu adduser ubuntu sudo
- 将文件重命名
/etc/sudoers/90-cloud...
为带有 的名称.
(例如,添加.bak
到文件名)。 - 尝试通过 运行命令
sudo
。
附言:如果您编辑任何sudoers
文件,请使用visudo
来执行此操作(它包装默认编辑器),以便在退出时检测到语法错误visudo
。