前言
当我们创建一个新的系统的时候 最最基础且重要的一件事 是你应当知道 如何给系统增加或者删除用户,但是我们往往只是会给一个默认的 root 用户
当我们使用 root 用户的时候 它给我们很大的权限和灵活性,但同时它也是很危险的和具有毁灭性的 比如一些误操作。我们几乎总是使用它来创建一个额外的、没有权限的用户来做普通的工作,同时我们也应该为我们系统上的其他用户创建一些额外的账户,每一个用户都应该有一个不同的账户
添加用户
如果你是使用 root 用户登录的,你可以使用如下代码在任何时候创建一个用户:
|
|
如果你使用一个拥有sudo
特权的非 root 用户,你可以使用如下的命令来添加一个用户
|
|
无论哪一种方法,程序都要经过下面的步骤:
- 给新用户分配并确认一个密码
- 给新用户输入一些额外的描述信息,如果你不想这样做 完成可以直接敲击
Enter
键来跳过这一步操作
- 最后,你会被询问确认你提供的信息是否正确,输入
Y
即可继续
你的新用户现在可以使用了,你现在可以使用你刚刚刚设置的新密码来登录
给一个用户分配sudo
特权
如果你的新用户需要去执行一些 root 权限的命令,你需要给你的新用户增加sudo
权限
添加新用户到sudo分组
默认情况下,在 Ubuntu 16.04 系统上 sudo
特权被配置到了 任何继承了 sudo 分组的用户特权中
你可以使用groups
命令 来查看你的新用户当前所处的分组
|
|
输出类似这种结构 已实际为准
|
|
在默认情况下,在我们创建一个新用户的同时,也会用这个用户名创建一个同名的分组,这个用户只属于这个分组 我们可以使用usermod
命令来把用户加入到一个新的分组
|
|
上面的-aG
参数代表把用户添加到某一组通常这2个参数是要连在一起使用的,那上面的意思就是把newuser用户添加到sudo分组
测试新用户的 Sudo 权限
现在的你的新用户已经可以使用系统管理员权限的命令了
当你使用你的新用户作为常用用户登录的时候,你可以执行普通的命令如
同时你也可以通过在命令的前面使用sudo
来执行一些需要系统管理员权限的命令
|
|
在/etc/sudoers
文件中明确的指定用户权限
你还可以使用visudo
命令来替代上面那种把新用户分配到 sudo分组的方法,该命令会使用系统中的编辑器打开/etc/sudoers
文件,在这里可以为每一个用户明确的指定用户权限
visudo
是被唯一一种推荐的方法来编辑改变/etc/sudoers
,因为在重写这个文件之前 它会锁定文件以防止多个同时编辑并且会检查文件内容的完整性
这将有助于防止你错误的配置sudo
的情形,因为你已经失去了sudo
权限 无法解决此问题了
如果你当前是使用 root 用户登录的:
如果你是使用一个具有sudo
权限的非 root 用户登录的:
|
|
一般来讲,visudo
会在vi
编辑器中打开/etc/sudoers
文件,这对一些不熟悉vi的用户来讲会很麻烦.在一个新安装的Ubuntu系统中可以使用nano
来替换,他提供了更多样化的编辑 总之使用熟悉的就好 应该没几个不熟悉 vi vim的吧 使用查找命令找到像下面这样的一行
|
|
在这行的下面 复制这一行 并把前面的root替换成你的新用户名 就像下面这样
|
|
你还可以为每一个用户都新启一行 配置具体的权限,当你完成编辑时保存文件退出就可以了
删除一个用户给
如果你长时间的不使用、不需要的一个用户,最好还是删除了吧
如果你是使用 root 登录的 你可以使用如下命令来删除一个用户 同时保留他们的文件
|
|
如果你是使用一个拥有sudo
权限的非root用户登录的:
|
|
在root权限下 如果一个用户已经被删除,你想删除该用户的家目录 你可以使用如下的命令:
|
|
如果你当前正在使用一个拥有sudo
权限的非root用户,你应该使用如下命令:
|
|
如果你以前有给你删除的用户配置过sudo
权限 你应该删除有关的内容 使用:
|
|
或者如果你是一个有sudo的非root用户:
|
|
|
|