Linux 中普通用户如何变为管理员用户?

Linux 中普通用户如何变为管理员用户?

我有一个普通用户,我想将其转变为管理员组,以便他可以拥有与 root 相同的权限。

我应该只更改 /etc/passwd 和 /etc/group 中的 GID 还是应该使用 usermod/groupmod?

答案1

您不想让此用户与 root 完全相同。不要更改 uid 和 gid。您有以下几种选择:

  • 使用 sudo。sudo 允许用户以 root 身份执行命令或启动 shell,而无需 root 密码。但是,计算机管理员可以严格控制用户可以“sudo”哪些命令。阅读手册页。但如果您想要轻松“让此用户使用 sudo 运行任何内容”,请将此用户放入 /etc/sudoers 文件中。更好的方法是,将此用户放入管理员组,然后将该行添加%admin ALL=(ALL) ALL到 /etc/sudoers。在 Ubuntu 上,这可能是您的最佳选择,因为 sudo 是默认安装的。

  • 将此用户放入 wheel 或 admin 组。此用户不是 root,但与 wheel 或 admin 中的其他人一样拥有文件访问权限。

  • 为用户提供 root 密码并让该用户使用su <cmd>。这不是一个好主意。在较新版本的 Ubuntu 中,root 帐户默认无法登录,因此您无法这样做。

答案2

在 ubuntu 下,最好的选择是将该人添加到sudoers文件。你应该使用维苏多编辑此文件。如果您不喜欢 vi,则可以设置 EDITOR shell 变量以使用您喜欢的编辑器。

在将用户添加为 sudoer 时,您有很多选择。如果您不想,您不必授予他们全部 root 访问权限。通常,/etc/sudoers 中的行如下所示:

 usernames/group servername = (usernames command can be run as) command

编辑此文件时,有一些一般准则:

  • 组与用户组相同,以开头的 % 来与普通用户区分开来。Linux 用户组“用户”将以 %users 表示。
  • 每行可以有多个用户名,以逗号分隔。
  • 多个命令也可以用逗号分隔。空格被视为命令的一部分。
  • 关键字 ALL 可以表示所有用户名、组、命令和服务器。
  • 如果某一行空间不足,则可以用反斜杠 () 结束该行并继续下一行。
  • sudo 假定 sudoers 文件将在网络范围内使用,因此提供了在表 9-1 中的 servername 位置指定将使用它的服务器名称的选项。在大多数情况下,该文件仅由一台服务器使用,并且关键字 ALL 足以作为服务器名称。
  • NOPASSWD 关键字提供访问权限而无需提示您输入密码。

您可以使用 /etc/sudoers 来授予特定人员特定访问权限适用于任何或所有应用程序。

本网站包括一些不错的例子。

答案3

在默认的 Ubuntu 安装中,您可以简单地将用户添加到“管理员”组:adduser USERNAME admin

相关内容