• Linux用户管理— 用户组管理命令


    1、添加用户组

    添加用户组的命令是groupadd
    命令格式如下:
    [root@localhost ~ ] # groupadd [选项] 组名
    选项:

    • -g:GID。指定组ID。(一般不会用)

    添加用户组的命令比较简单,举个例子:

    1. #添加group1
    2. [root@localhost ~ ] # groupadd group1
    3. #查看用户组是否创建
    4. [root@localhost ~ ] # grep "groupl" /etc/group
    5. group1:x:502

    2 、删除用户组

    groupdel命令用于删除用户组,命令格式如下:
    [root@localhost ~ ] # groupdel 组名

    1. 例子:
    2. #删除group1
    3. [root@localhost ~ ] # groupdel group1

    不过大家要注意,要删除的组不能是其他用户的初始组,也就是说这个组中没有初始用户才可以删除。如果组中都是附加用户,则删除组时不受影响。

    3、把用户添加进组或从组中删除

    gpasswd命令是用来设定组密码并指定组管理员的,不过我们在前面已经说了,组密码和组管理员功能很少使用,而且完全可以被sudo命令取代,所以gpasswd命令现在主要用于把用户添加进组或从组中删除。
    命令格式如下:
    [root@localhost ~ ] # gpasswd [选项] 组名
    选项:

    • -a 用户名:把用户加入组
    • -d 用户名:把用户从组中删除

    举个例子:

    1. #添加组grouptest
    2. [root@localhost ~ ] # groupadd grouptest
    3. #把用户user1加入grouptest组
    4. [root@localhost ~ ] # gpasswd -a user1 grouptest
    5. Adding user user1 to group grouptest
    6. #查看一下,user1用户已经作为附加用户加入grouptest组
    7. [root@localhost ~ ] # grep "user1" /etc/group
    8. user1:x:501
    9. grouptest:x:505:user1
    10. #把用户user1从组中删除
    11. [root@localhost ~ ] # gpasswd -d user1
    12. grouptest Removing user userl from group grouptest
    13. #组中没有user1用户了
    14. [root@localhost ~ ] # grep "grouptest" /etc/group
    15. grouptest:x:505

    之前我们说过,使用usermod命令可以把用户加入某个组,那usermod命令和gpasswd命令有什么区别?

    • usermod命令的操作对象是用户,命令是usermod -G grouptest user1,把用户名作为参数放在最后(也就是grouptest是组,user1是用户);而gpasswd命令的操作对象是组,命令是gpasswd-a user1 grouptest,把组名作为参数放在最后(user1是用户,grouptest是组,和usermod命令位置相反)。
    • usermod命令和gpasswd命令,理论上用哪一个都可以,推荐使用gpasswd命令,原因gpasswd命令只添加附加组,而usermod命令根据不同的选项可以添加初始组和附加组。
    • gpasswd命令不但能把用户添加进附加组中,而且gpasswd命令还有从组中删除用户的功能。gpasswd命令更为方便。

    提示:用vim编辑器,手动编辑也是可以的,同样效果。只是手工写的方式不适合做脚本。
    注意:在删除组的时候,如果组中有没有初始组的用户(也就是把当前组作为初始组的用户),需要把该用户删除掉,才能把该用户组删除。

    4、有效组(了解)

    我们说过,每个用户可以有一个初始组(用户是这个组的初始用户),也可以属于多个附加组。既然用户可以属于这么多用户组,那么用户在创建文件后,默认生效的组身份是哪个呢?
    当然是初始用户组的组身份生效了,因为初始组是用户一旦登录就直接获得的组身份。也就是说,用户在创建文件后,文件的属组是用户的初始组,因此用户的有效组默认是初始组。
    既然用户属于多个用户组,那么能不能改变用户的有效组呢?
    使用命令newgrp就可以切换用户的有效组。
    命令格式如下:
    [root@localhost ~ ] # newgrp 组名
    举个例子,我们已经有了普通用户user1,默认会建立user1用户组,user1组是user1用户的初始组。我们再把user1用户加入group1组,那么group1组就是user1用户的附加组。当user1用户创建文件test1时,test1文件的属组是user1组,因为user1组是user1用户的有效组。通过newgrp命令就可以把user1用户的有效组变成group1组,当user1用户创建文件test2时,就会发现test2文件的属组就是group1组。使用newgrp命令可以在多个组身份之间切换。

    感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

    ① 2000多本Python电子书(主流和经典的书籍应该都有了)

    ② Python标准库资料(最全中文版)

    ③ 项目源码(四五十个有趣且经典的练手项目及源码)

    ④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

    ⑤ Python学习路线图(告别不入流的学习)

    重点:配套学习资料和视频教学

    那么在这里我也精心准备了上述大纲的详细资料在下方链接如下

  • 相关阅读:
    OSM+three.js打造3D城市
    IP179N NI H Hl参考资料和引脚图
    ElasticSearch7.3学习(三十二)----logstash三大插件(input、filter、output)及其综合示例
    安全框架Spring Security是什么?如何理解Spring Security的权限管理?
    vue+element-ui el-descriptions 详情渲染组件二次封装(Vue项目)
    最常见的35个Python面试题
    NNDL:作业3
    一百九十二、Flume——Flume数据流监控工具Ganglia单机版安装
    FFmpeg 命令:从入门到精通 | ffplay 命令播放媒体
    CTE(公共表表达式)和视图在查询时的性能影响
  • 原文地址:https://blog.csdn.net/m0_59868866/article/details/126413592