Linux-让用户隶属于多个组/把用户添加到其它组

Linux-让用户隶属于多个组/把用户添加到其它组

注意: 目前发现Ubuntu20.04中修改组信息后需要退出重新登录才能生效,否则相当于没有设置!

使用usermod

#以下语句都是相同作用:给用户「laowang」设置一个附加组「www」,反向理解,就是把用户laowang加入到www组中
usermod -G www laowang
usermod -a -G www laowang
usermod -aG www laowang

#注意如果你当前不是root用户,则要在命令前添加sudo,如:
sudo usermod -G www laowang

如图,-g/-G/-a都写清楚了,这里翻译一下

  • -g 强制使用给定的「GROUP」作为新的「主要组」
  • -G「附加组」的新名单
  • -a 添加用户到附加组
    Xnip2018-09-01_23-41-06.png

下图为使用实例,用户「langwang」最初只有一个组,叫「laowang」,组id为 1005:
Xnip2018-09-02_00-02-27.png

  • 第3行「usermod -G www laowang」,其中www是用户组,laowang是用户名,意思是把www组加入到laowang的所属组列表中,而且是作为「附加组」(英文supplementary group),与「附加组」对应的是「主要组」(英文primary group),注意「附加组」和「主要组」是有前后关系的,「主要组」在第一位,「附加组」在组要组的后面,所以这里「www」组排在「laowang」组的后面。
  • 第6行,「usermod -g laowang laowang」,第一个laowang是组名,第二个laowang是用户名,前面说了-g的意思是强制使用给定的「GROUP」作为新的「主要组」,而不是网上很多人所说的「覆盖」,所以这个命令执行后,并没有「覆盖」原来的组,而是提示no changes,没有变化,为什么呢?因为「laowang」组已经是用户「laowang」的「主要组」了,所以就没有变化。
  • 第7行,「usermod -g www laowang」根据上面所说,这句的意思是:强制把组www作为用户laowang的主要组,根据第9行显示,执行这句以后,www确实已经成为用户「laowang」的主要组,并且,原来的「laowang」这个组已经没有了,这里就体现出了网上很多人所说的-g是「覆盖」的意思(但其实这个覆盖在有些时候不管用,要把用户从某个组中删除,最好还是用下边说的gpasswd命令通过-d(delete)选项来删除)。
  • 另外说说「-a」,我单独执行了「usermod -a laowang laowang」,报错,说明-a不能单独用,另外我又试了「usermod -aG laowang laowang」或者「usermod -a -G laowang laowang」,「laowang」这个组又重新被添加为用户「laowang」的「附加组」了,所以其实-a是跟-G一起用的,-a表示添加(a:append),那为什么单独使用-G也可以添加呢?应该是默认就是添加。

使用gpasswd

把laowang加入到www组中(-a:append),反过来说,就是给用户laowang添加一个附加组www

sudo gpasswd -a laowang www

查询用户属于哪些组(在哪些组中)

id laowang

把laowang从www组中移除(-d:delete)

sudo gpasswd -d laowang www

比如现在用户xiebruce有一个附加组www,现在我要用gpasswd -d把www删除,命令怎么写?

id xiebruce
uid=1000(xiebruce) gid=1000(xiebruce) groups=1000(xiebruce),1001(www)

注意,gpasswd的操作对象是组,所以“用户xiebruce有一个附加组www”,要反过来理解成“用户xiebrucewww组中”,所以我们要写的删除命令是“把xiebrucewww组中删除”

sudo gpasswd -d xiebruce www

如果你直接看这个命令,无法一下子理解xiebruce和www到底哪个是用户哪个是组,可以这么理解gpasswd (-d xiebruce) www,即“选项后面的参数,是选项作用的对象”,因为-d的作用是从指定组中删除指定用户(即让用户不再属于某个组),所以这样一看就知道xiebruce是“要被删除的用户”,从哪里删除呢?从最后一个参数www组里面删除。

打赏
订阅评论
提醒
guest

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

Linux-让用户隶属于多个组/把用户添加到其它组