Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 3.37 KB

Ubuntu群组管理.md

File metadata and controls

96 lines (66 loc) · 3.37 KB

群组管理

Linux中,每个用户都有一个群组。

那么新建用户的时候并没有指定群组啊,群组是怎么来的呢。

其实我们不需要设置群组,创建用户的时候会默认创建一个和用户名一样的群组,并且把用户添加到这个群组中。

下面来看一下用户的群组

可以看到第三列和第四列是相同的。第三列是用户名,第四列是群组名。

了解这些之后下面来操作一下群组

新增群组

当用户少的时候默认的群组就足以使用了,但是当用户多的时候还是每个用户都在自己的群组中,这种情况就不方便管理了。

下面演示一下新增群组,使用addgroup 命令,用法很简单,在后面直接加上要创建的群组就可以了。记得要用root身份

$ addgroup admin

看到这个消息,就表示新增成功。

这个时候群组里面还是空的,没有添加用户。

修改用户账户

假如我要将 dev 这个用户放到我刚创建的 admin 这个群组里,可以这样写

$ usermod -g admin dev

可以看到用户dev的群组已经改成了admin

除了使用ll命令之外还可以这样查看用户所在群组

$ groups dev

也可以不添加用户名,直接使用groups命令,则显示当前用户所在群组

我们也一次把用户添加到多个群组里面,就用-G参数

首先我们先来多创建两个群组,分别是g1g2

$ addgroup g1
$ addgroup g2

接着运行以下命令

$ usermod -G admin,dev,g1,g2 dev
$ gropus dev

配合 -g 或 -G 参数时,它会把用户从原先的群组里剔除,加入到新的群组。如果不想离开原先的群组,又想加入新的群组,可以在 -G 参数的基础上加上 -a 参数,表示“追加”。

  • 不添加-a的情况
 $ groups dev # 先查看一下用户所在群组
 $ usermod -G admin dev # 修改用户所在群组
 $ groups dev # 在一次查询用户所在群组

可以看出,用户的群组只有dev了,之前的群组已经不存在了

  • 添加-a的情况
$ groups dev # 先查看一下用户所在群组
$ usermod -aG dev dev # 修改用户所在群组
$ groups dev # 在一次查询用户所在群组

可以看出原来的群组还在

删除群组

用法很简单,在命令后接想要删除的群组名。

$ delgroup dev

dev已经不再dev群组,因为它已经被删除