介绍
您应该知道最基本任务之一是如何在新的 Linux 服务器上添加和删除用户. 当您创建新系统时, 您通常 (例如在 DigitalOcean Droplets 上) 默认情况下仅提供 root 帐户.
虽然以 root 用户身份运行会为您提供强大的功能和灵活性, 但它也很危险并且具有破坏性. 添加额外的, 无特权的用户来执行常见任务几乎总是更好的主意. 您还应该为系统上可能拥有的任何其他用户创建其他帐户. 每个用户都应该拥有不同的帐户.
当您需要通过调用的机制时, 您仍然可以获得管理员权限 sudo. 在本指南中, 我们将介绍如何创建用户帐户, 分配 sudo 权限和删除用户.
要完成本教程, 你需要具备一台已经设置好可以使用 sudo 命令的非 root 账号的 Ubuntu 服务器, 并且已开启防火墙. 没有服务器的同学可以在这里购买 https://cloud.tencent.com/product/cvm , 不过我个人更推荐您使用免费的腾讯云开发者实验室 https://cloud.tencent.com/developer/labs 进行试验, 学会安装后在购买服务器 https://cloud.tencent.com/product/cvm .
如何添加用户
如果您以 root 用户身份登录, 则可以通过键入以下内容随时创建新用户:
adduser newuser
如果您以已获得 sudo 权限的非 root 用户身份登录, 您可以通过键入以下内容来添加新用户:
sudo adduser newuser
无论哪种方式, 您都会被问到一系列问题. 程序将是:
为新用户分配并确认密码
输入有关新用户的任何其他信息. 这完全是可选的, 如果您不想使用这些字段, 可以通过按 Enter 键跳过.
最后, 系统会要求您确认您提供的信息是否正确. 输入 Y 继续.
您的新用户现在可以使用了! 您现在可以使用您设置的密码登录.
注意: 如果您需要新用户可以访问管理功能, 请继续.
如何授予用户 Sudo 权限
如果您的新用户应该能够以 root(管理)权限执行命令, 则需要授予新用户访问权限 sudo. 让我们来看看解决这个问题的两种方法: 将用户添加到预定义的 sudo 用户组, 并在 sudo 配置中指定基于每个用户的权限.
将新用户添加到 Sudo 组
默认情况下, sudo 在 Ubuntu 16.04 系统上配置为将完全权限扩展到 sudo 组中的任何用户.
您可以使用以下 groups 命令查看新用户所在的组:
- groups newuser
- Output
- newuser : newuser
默认情况下, 新用户仅在其自己的组中, 该组在创建帐户时创建, 并与用户共享名称. 为了将用户添加到新组, 我们可以使用以下 usermod 命令:
usermod -aG sudo newuser
此处的选项 - aG 告诉 usermod 您将用户添加到列出的组中.
测试用户的 Sudo 权限
现在, 您的新用户可以使用管理权限执行命令.
以新用户身份登录后, 您可以像往常一样键入命令, 以常规用户身份执行命令:
some_command
您可以通过在命令之前键入 sudo 来执行具有管理权限的相同命令:
sudo some_command
系统将提示您输入您登录的常规用户帐户的密码.
在 / etc / sudoers 中指定显式用户权限
作为将用户置于 sudo 组的替代方法, 您可以使用该 visudo 命令打开 / etc/sudoers 在系统默认编辑器中调用的配置文件, 并基于每个用户显式指定权限.
使用 visudo 是唯一建议进行更改的方法 / etc/sudoers, 因为它会锁定文件以防止多个同时编辑, 并在覆盖文件之前对其内容执行完整性检查. 这有助于防止配置错误 sudo 和由于您丢失 sudo 权限而导致并无法解决问题的情况.
如果您当前以 root 用户身份登录, 请键入:
visudo
如果使用具有 sudo 权限的非 root 用户登录, 请键入:
sudo visudo
传统上, 用 visudo 命令在编辑器 vi 中打开 / etc/sudoers, 这可能会让没有经验的用户感到困惑. 默认情况下, 在新的 Ubuntu 安装中, 它应该使用 nano, 这提供了更熟悉的文本编辑体验. 使用箭头键移动光标, 并搜索如下所示的行:
root ALL=(ALL:ALL) ALL
在此行下方, 复制您在此处看到的格式, 仅更改单词 "root" 以引用您希望为其提供 sudo 权限的新用户:
- root ALL=(ALL:ALL) ALL
- newuser ALL=(ALL:ALL) ALL
您应该为每个应该为其提供完全 sudo 权限的用户添加这样的新行. 完成后, 可以通过按 Ctrl-X, 然后按 Y, 然后按 Enter 确认来保存和关闭文件.
如何删除用户
如果您不再需要用户, 最好删除旧帐户.
您可以通过以 root 身份键入来删除用户本身, 而不删除任何文件:
deluser newuser
如果您以另一个具有 sudo 权限的非 root 用户身份登录, 则可以改为:
sudo deluser newuser
相反, 如果要在删除用户时删除用户的主目录, 则可以以 root 身份发出以下命令:
deluser --remove-home newuser
如果您以具有 sudo 权限的非 root 用户身份运行它, 则应输入:
sudo deluser --remove-home newuser
如果您之前为删除的用户配置了 sudo 权限, 则可能需要键入以下内容再次删除相关行:
visudo
如果您是具有 sudo 权限的非 root 用户, 请使用此选项:
- sudo visudo
- root ALL=(ALL:ALL) ALL
- newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
这将阻止使用相同名称创建的新用户被意外地赋予 sudo 权限.
结论
您现在应该可以很好地处理如何在 Ubuntu 16.04 系统中添加和删除用户. 有效的用户管理将允许您分离用户并仅为他们提供完成工作所需的访问权限.
来源: https://www.qcloud.com/developer/article/1341083