zoukankan      html  css  js  c++  java
  • Linux-用户组管理命令

    Linux用户组管理的相关文件

    /etc/group 文件

    这个文件存放着用户组信息:

    [root@wqh06 ~]# cat /etc/group | head -3
    root:x:0:
    bin:x:1:
    daemon:x:2:
    
    列数 作用
    第一列 组名
    第二列 组密码占位符
    第三列 组ID(GID)
    第四列 附属成员,主组非此组,但附加组为此组的成员

    /etc/gshadow 文件

    这个文件存放着组密码信息:

    [root@wqh06 ~]# cat /etc/gshadow | tail -8
    ssh4:!::
    ssh5:!::
    shanghai03:$6$q2Gc1/YE7pk/EW$xNDx5p3G4tnUZkCbYhDc26zyDuNYYuidcyFP0j7JByOFIq8B4r9CEH6NzHJF2DviVnau55Ltwzl2nPjwUBKg51::user03
    
    列数 作用
    第一列 组名
    第二列 组密码,若是!或空,表示没有密码
    第三列 用户组管理员
    第四列 附属成员,主组非此组,但附加组为此组的成员

    用户组管理命令

    增加用户组

    # groupadd
    
    //创建基本组, 不指定gid
    [root@wqh ~]# groupadd no_gid
    [root@wqh ~]# tail -n1 /etc/group
    no_gid:x:1000:
    
    //创建基本组, 指定gid为1500
    [root@wqh ~]# groupadd -g 1500 yes_gid
    [root@wqh ~]# tail -1 /etc/group
    yes_gid:x:1500:
    
    //创建系统组,gid从201-999
    [root@wqh ~]# groupadd -r sys_group
    [root@wqh ~]# tail -1 /etc/group
    sys_group:x:335:
    

    修改用户组

    # groupmod
    //-g 修改组gid
    [root@wqh ~]# groupmod -g 777 no_gid
    [root@wqh ~]# tail -1 /etc/group
    no_gid:x:777:
    
    //-n 修改组名称
    [root@wqh ~]# groupmod -n active_group yes_gid
    [root@wqh ~]# tail -1 /etc/group
    active_group:x:1500:
    

    删除用户组

    # groupdel
    #删除组
    [root@wqh ~]# groupdel active_group
    
    #删除用户附加组
    [root@wqh ~]# id wqh 
    uid=1069(wqh) gid=5005(wqh) groups=5005(wqh),5004(devops)
    [root@wqh ~]# groupdel devops
    [root@wqh ~]# id wqh
    uid=1069(wqh) gid=5005(wqh) groups=5005(wqh)
    
    #无法删除用户基本组
    [root@wqh ~]# groupdel wqh
    groupdel: cannot remove the primary group of user 'wqh'
    #只有删除用户或者用户变更基本后,方可删除该组
    

    设置组密码

    # gpasswd 交互式设置密码
    [root@wqh ~]# groupadd devops
    [root@wqh ~]# gpasswd devops
    Changing the password for group devops
    New Password:
    Re-enter new password:
    

    普通用户临时变更基本组(获取权限)

    在用户管理命令中,我们在root用户下使用usermod可以修改用户基本组(usermod -g),
    但是如果我们登陆不了root用户,也无法获得root用户的权限,我们想获取另外一个基本组的权限,
    可以用newgrp命令,使用newgrp命令相当于在当前普通用户下又开启了一个登陆式的Shell,
    因为执行newgrp [组名]后,会让我们输入密码,如果该组没有组密码,则需要设置一个,否则无法临时变更基本组。

    //检查账户信息
    [root@wqh06 ~]# id test_g
    uid=5161(test_g) gid=5161(test_g) groups=5161(test_g)
    
    //切换普通用户
    [root@wqh06 ~]# su - test_g
    
    //创建新文件,并验证权限
    [test_g@wqh06 ~]$ touch test_g.txt
    [test_g@wqh06 ~]$ ll test_g.txt 
    -rw-rw-r-- 1 test_g test_g 0 Apr  2 00:39 test_g.txt
    
    
    //切换组信息,这里需要注意,要切换到的目的组一定要设置过组密码,否则无法切换,需要在root下设置
    //newgrp命令切换组,相当于开启了一个登陆式的Shell
    [test_g@wqh06 ~]$ newgrp shanghai03
    Password: 
    
    //建立文件,检查权限
    [test_g@wqh06 ~]$ touch test_g_newgrp.txt
    [test_g@wqh06 ~]$ ll
    total 0
    -rw-r--r-- 1 test_g shanghai03 0 Apr  2 00:40 test_g_newgrp.txt
    -rw-rw-r-- 1 test_g test_g     0 Apr  2 00:39 test_g.txt
    
  • 相关阅读:
    cocos2d-x 配置教程
    cocos2d-x 学习笔记之 CCMenuItemToggle用法
    cocos2d-android-1学习之旅01
    博客园的代码高亮
    JAVA POI 应用系列(2)--读取Excel
    JAVA POI 应用系列(1)--生成Excel
    spring和hibernate的整合
    学习笔记
    mongorestore 命令行恢复 bson
    mysql 插数据 ,版本不一致 需要修改 utf8 COLLATE utf8_general_ci
  • 原文地址:https://www.cnblogs.com/zzzwqh/p/12617043.html
Copyright © 2011-2022 走看看