Ubuntu 16.04下添加和删除用户

前言

当我们创建一个新的系统的时候 最最基础且重要的一件事 是你应当知道 如何给系统增加或者删除用户,但是我们往往只是会给一个默认的 root 用户

当我们使用 root 用户的时候 它给我们很大的权限和灵活性,但同时它也是很危险的和具有毁灭性的 比如一些误操作。我们几乎总是使用它来创建一个额外的、没有权限的用户来做普通的工作,同时我们也应该为我们系统上的其他用户创建一些额外的账户,每一个用户都应该有一个不同的账户

当你通过使用sudo 你仍然可以使用系统管理员的权限,下面我们将介绍如何创建用户账号,分配sudo特权以及删除用户


添加用户

如果你是使用 root 用户登录的,你可以使用如下代码在任何时候创建一个用户:

1
$ adduser newuser

如果你使用一个拥有sudo特权的非 root 用户,你可以使用如下的命令来添加一个用户

1
$ sudo adduser newuser

无论哪一种方法,程序都要经过下面的步骤:

  • 给新用户分配并确认一个密码
  • 给新用户输入一些额外的描述信息,如果你不想这样做 完成可以直接敲击Enter键来跳过这一步操作
  • 最后,你会被询问确认你提供的信息是否正确,输入Y 即可继续

你的新用户现在可以使用了,你现在可以使用你刚刚刚设置的新密码来登录

给一个用户分配sudo特权

如果你的新用户需要去执行一些 root 权限的命令,你需要给你的新用户增加sudo权限

添加新用户到sudo分组

默认情况下,在 Ubuntu 16.04 系统上 sudo特权被配置到了 任何继承了 sudo 分组的用户特权中
你可以使用groups命令 来查看你的新用户当前所处的分组

1
$ groups newuser

输出类似这种结构 已实际为准

1
$ newuser : newuser

在默认情况下,在我们创建一个新用户的同时,也会用这个用户名创建一个同名的分组,这个用户只属于这个分组 我们可以使用usermod命令来把用户加入到一个新的分组

1
$ usermod -aG sudo newuser

上面的-aG参数代表把用户添加到某一组通常这2个参数是要连在一起使用的,那上面的意思就是把newuser用户添加到sudo分组

测试新用户的 Sudo 权限

现在的你的新用户已经可以使用系统管理员权限的命令了
当你使用你的新用户作为常用用户登录的时候,你可以执行普通的命令如

1
$ some_command

同时你也可以通过在命令的前面使用sudo 来执行一些需要系统管理员权限的命令

1
$ sudo some_command
/etc/sudoers文件中明确的指定用户权限

你还可以使用visudo命令来替代上面那种把新用户分配到 sudo分组的方法,该命令会使用系统中的编辑器打开/etc/sudoers 文件,在这里可以为每一个用户明确的指定用户权限

visudo是被唯一一种推荐的方法来编辑改变/etc/sudoers,因为在重写这个文件之前 它会锁定文件以防止多个同时编辑并且会检查文件内容的完整性
这将有助于防止你错误的配置sudo的情形,因为你已经失去了sudo权限 无法解决此问题了

如果你当前是使用 root 用户登录的:

1
$ visudo

如果你是使用一个具有sudo权限的非 root 用户登录的:

1
$ sudo visudo

一般来讲,visudo会在vi编辑器中打开/etc/sudoers文件,这对一些不熟悉vi的用户来讲会很麻烦.在一个新安装的Ubuntu系统中可以使用nano来替换,他提供了更多样化的编辑 总之使用熟悉的就好 应该没几个不熟悉 vi vim的吧 使用查找命令找到像下面这样的一行

1
root ALL=(ALL:ALL) ALL

在这行的下面 复制这一行 并把前面的root替换成你的新用户名 就像下面这样

1
2
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

你还可以为每一个用户都新启一行 配置具体的权限,当你完成编辑时保存文件退出就可以了

删除一个用户给

如果你长时间的不使用、不需要的一个用户,最好还是删除了吧
如果你是使用 root 登录的 你可以使用如下命令来删除一个用户 同时保留他们的文件

1
$ deluser newuser

如果你是使用一个拥有sudo权限的非root用户登录的:

1
$ sudo deluser newuser

在root权限下 如果一个用户已经被删除,你想删除该用户的家目录 你可以使用如下的命令:

1
$ deluser --remove-home newuser

如果你当前正在使用一个拥有sudo权限的非root用户,你应该使用如下命令:

1
$ sudo deluser --remove-home newuser

如果你以前有给你删除的用户配置过sudo权限 你应该删除有关的内容 使用:

1
$ visudo

或者如果你是一个有sudo的非root用户:

1
$ sudo visudo
1
2
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # 删除类似这一行

这可以防止以后使用了相同名称创建的用户 被意外的分配了 sudo 权限

-------------The End-------------