前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Debian 8上添加和删除用户

如何在Debian 8上添加和删除用户

原创
作者头像
水门
修改2018-09-19 14:44:31
3.2K0
修改2018-09-19 14:44:31
举报
文章被收录于专栏:云计算教程系列

介绍

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

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

如何添加用户

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

代码语言:javascript
复制
adduser sammy

如果您以已获得sudo权限的非root用户身份登录,您需要一台已经设置好可以使用sudo命令的非root账号的Debian 8服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。接下来,您可以通过键入以下内容来添加新用户:

代码语言:javascript
复制
sudo adduser sammy

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

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

代码语言:javascript
复制
Output
Adding 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组

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

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

代码语言:javascript
复制
groups sammy
代码语言:javascript
复制
Output
sammy : sammy

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

代码语言:javascript
复制
usermod -aG sudo sammy

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

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

代码语言:javascript
复制
Output
sammy : sammy sudo

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

以新用户身份登录后,您可以像往常一样键入命令,以常规用户身份执行命令:

代码语言:javascript
复制
ls ~

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

代码语言:javascript
复制
sudo ls /root

使用命令前缀时sudo,系统将提示您输入密码。输入发出命令时,用户帐户的密码没有root用户的密码。

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

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

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

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

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

代码语言:javascript
复制
visudo

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

代码语言:javascript
复制
sudo visudo

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

代码语言:javascript
复制
root    ALL=(ALL:ALL) ALL

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

在/ etc / sudoers文件

代码语言:javascript
复制
root    ALL=(ALL:ALL) ALL
sammy ALL=(ALL:ALL) ALL

您应该为每个应该为其提供完全sudo权限的用户添加这样的新行。完成后,您可以通过点击CTRL-X,然后按Y,然后ENTER确认来保存和关闭文件。

如何删除用户

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

您可以通过以root身份键入来删除用户本身,而不删除任何文件:

代码语言:javascript
复制
deluser sammy

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

代码语言:javascript
复制
sudo deluser sammy

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

代码语言:javascript
复制
deluser --remove-home sammy

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

代码语言:javascript
复制
sudo deluser --remove-home sammy

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

代码语言:javascript
复制
visudo

如果您是具有sudo权限的非root用户,请使用此选项:

代码语言:javascript
复制
sudo visudo

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

代码语言:javascript
复制
Output
root    ALL=(ALL:ALL) ALL
sammy   ALL=(ALL:ALL) ALL   # DELETE THIS LINE

这将阻止使用相同名称创建的新用户被意外地赋予sudo权限。

结论

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

更多Debian8教程请前往腾讯云+社区学习更多知识。

参考文献:《How to Add and Delete Users on Debian 8》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何添加用户
  • 如何授予用户Sudo权限
    • 将新用户添加到Sudo组
    • 在/ etc / sudoers中指定显式用户权限
    • 如何删除用户
    • 结论
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档