如何在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
时,系统会提示您输入密码。 输入发出命令的用户帐户的密码,not 是 root 用户的密码。
在 /etc/sudoers 中指定显式用户权限
作为将您的用户放入 sudo 组的替代方法,您可以使用 visudo
命令,该命令在系统的默认编辑器中打开一个名为 /etc/sudoers
的配置文件,并显式为每个用户指定权限。
编辑 /etc/sudoers/
文件提供了更大的灵活性,但只应在您需要这种灵活性时使用,因为在管理用户帐户时需要更多的维护。
使用 visudo
是对 /etc/sudoers
进行更改的唯一推荐方法,因为它会锁定文件以防止多个同时编辑,并在覆盖文件之前对其内容执行完整性检查。 这有助于防止出现您错误配置 sudo
并因失去 sudo
权限而无法解决问题的情况。
如果您当前以 root 身份登录,请键入:
visudo
如果您使用具有 sudo
权限的非 root 用户登录,请键入:
sudo visudo
传统上,visudo
在 vi
编辑器中打开 /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 文件 的指南。