如何在Debian8上添加和删除用户

来自菜鸟教程
跳转至:导航、​搜索

介绍

您应该知道如何在新的 Linux 服务器上执行的最基本任务之一是添加和删除用户。 当您创建一个新系统时,通常默认情况下您只会获得 root 帐户。 虽然以 root 用户身份运行为您提供了很多功能和灵活性,但它也很危险并且可能具有破坏性。 添加一个额外的非特权用户来执行常见任务几乎总是一个更好的主意。 然后,您应该为您系统上可能拥有的任何其他用户创建其他帐户。

当您需要管理员权限时,您仍然可以通过称为 sudo 的机制获得管理员权限。 在本教程中,您将学习如何创建用户帐户、分配 sudo 权限以及删除用户。

如何添加用户

如果您以 root 用户身份登录,您可以随时通过键入以下内容创建新用户:

adduser sammy

如果您以被授予 sudo 权限的非 root 用户身份登录,如 初始服务器设置指南 中所示,您可以通过键入以下内容添加新用户:

sudo adduser sammy

执行命令后,您将看到一些输出,然后是一系列提示,要求您为新用户分配并确认密码。 然后,系统会要求您输入有关新用户的任何其他信息。 这完全是可选的,如果您不想在这些字段中输入信息,可以通过点击 ENTER 跳过。

最后,系统会要求您确认您提供的信息是否正确。 输入 Y 继续。 整个过程是这样的:

OutputAdding user `sammy' ...
Adding new group `sammy' (1001) ...
Adding new user `sammy' (1001) with group `sammy' ...
Creating home directory `/home/<^>sammy' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for sammy
Enter the new value, or press ENTER for the default
        Full Name []: Sammy the Shark
        Room Number []: 123
        Work Phone []: 555-555-5555
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

adduser 命令为您的用户创建了一个用户、一个组和一个主目录。 您的新用户现在可以使用了! 您现在可以使用您设置的密码登录。

注意:如果您需要新用户访问管理功能,请继续。


如何授予用户 Sudo 权限

如果您的新用户需要以 root 权限执行命令,您需要授予新用户对 sudo 的访问权限。 让我们来看看解决这个问题的两种方法:将用户添加到预定义的 sudo 用户组 ,并在 sudo 的配置中为每个用户指定权限.

将新用户添加到 Sudo 组

默认情况下,Debian 8 系统上的 sudo 配置为将完全权限扩展到 sudo 组中的任何用户。

您可以使用 groups 命令查看新用户所在的组:

groups sammy
Outputsammy : sammy

默认情况下,新用户仅在他们自己的组中,该组是在创建帐户时创建的,并与用户共享名称。 要将用户添加到新组,请使用 usermod 命令:

usermod -aG sudo sammy

这里的 -aG 选项告诉 usermod 将用户添加到列出的组中。

再次使用 groups 命令验证您的用户现在是 sudo 组的成员:

Outputsammy : sammy sudo

现在,您的新用户能够以管理权限执行命令。

以新用户身份登录后,您可以通过正常输入命令以普通用户身份执行命令:

ls ~

您可以通过在命令前面键入 sudo 来执行具有管理权限的命令:

sudo ls /root

在命令前加上 sudo 时,系统会提示您输入密码。 输入发出命令的用户帐户的密码,notroot 用户的密码。

在 /etc/sudoers 中指定显式用户权限

作为将您的用户放入 sudo 组的替代方法,您可以使用 visudo 命令,该命令在系统的默认编辑器中打开一个名为 /etc/sudoers 的配置文件,并显式为每个用户指定权限。

编辑 /etc/sudoers/ 文件提供了更大的灵活性,但只应在您需要这种灵活性时使用,因为在管理用户帐户时需要更多的维护。


使用 visudo 是对 /etc/sudoers 进行更改的唯一推荐方法,因为它会锁定文件以防止多个同时编辑,并在覆盖文件之前对其内容执行完整性检查。 这有助于防止出现您错误配置 sudo 并因失去 sudo 权限而无法解决问题的情况。

如果您当前以 root 身份登录,请键入:

visudo

如果您使用具有 sudo 权限的非 root 用户登录,请键入:

sudo visudo

传统上,visudovi 编辑器中打开 /etc/sudoers,这对于没有经验的用户可能会感到困惑。 默认情况下,在新的 Debian 安装中,它应该使用 nano,它提供了更熟悉的文本编辑体验。 使用箭头键移动光标,然后搜索如下所示的行:

/etc/sudoers

root    ALL=(ALL:ALL) ALL

在此行下方,复制您在此处看到的格式,仅更改单词“root”以引用您希望授予 sudo 权限的新用户:

/etc/sudoers

root    ALL=(ALL:ALL) ALL
sammy ALL=(ALL:ALL) ALL

您应该为每个应该被赋予完全 sudo 权限的用户添加这样的新行。 完成后,您可以按 CTRL-X,然后按 Y,然后按 ENTER 确认保存并关闭文件。

如何删除用户

如果您不再需要用户,最好删除旧帐户。

您可以通过以 root 身份输入以下内容来删除用户本身,而不删除他们的任何文件:

deluser sammy

如果您以另一个具有 sudo 权限的非 root 用户身份登录,则可以键入:

sudo deluser sammy

如果要在删除用户时删除用户的主目录,请以 root 身份发出以下命令:

deluser --remove-home sammy

如果您以具有 sudo 权限的非 root 用户身份运行它,则可以键入:

sudo deluser --remove-home sammy

如果您之前通过编辑 /etc/sudoers 文件为您删除的用户配置了 sudo 权限,您应该通过键入以下内容删除文件中的相关行:

visudo

或者,如果您是具有 sudo 权限的非 root 用户,请使用它:

sudo visudo

然后找到与您的用户关联的文件中的行并将其删除。

Outputroot    ALL=(ALL:ALL) ALL
sammy   ALL=(ALL:ALL) ALL   # DELETE THIS LINE

这将防止以相同名称创建的新用户被意外授予 sudo 权限。

结论

您现在应该很好地掌握了如何在 Debian 8 系统中添加和删除用户。 有效的用户管理将允许您分离用户并仅授予他们完成工作所需的访问权限。

有关如何配置 sudo 的更多信息,请在此处查看我们关于 如何编辑 sudoers 文件 的指南。