zoukankan      html  css  js  c++  java
  • linux基础命令--groupadd 创建新的群组

    描述

    • groupadd命令用于创建一个新的群组。
    • groupadd命令默认会根据命令行指定的值和系统下的/etc/login.defs文件定义的值去修改系统下的/etc/group/etc/gshadow文件,添加新的群组。

    语法

    • groupadd [选项] group

    选项列表

    选项(常用的已加粗) 说明
    -f, --force 如果指定的组已经存在,使用-f选项会以成功状态退出。当和-g选项一起使用时,且指定的GID已经存在,则选择另一个唯一的GID(系统默认选择的一个GID)
    -g, --gid GID

    指定的GID必须是唯一的,除非使用-o选项。从系统管理角度GID取值范围:其他组GID最大值≤指定的GID≤60000,若不使用-g指定GID则系统默认使用:其他组GID最大值+1

    -K, --key KEY=VALUE 覆盖/etc/login.defs文件的GID_MIN、GID_MAX或其他的默认值,可指定多个-K选项。例如:-K GID_MIN=100 -K GID_MAX=499;注意:-K GID_MIN=10,GID_MAX=499不支持 
    -o, --non-unique 需和-g选项一起使用,允许指定一个已存在的GID,即共享一个GID,使该GID不再具备唯一性。
    -p, --password PASSWORD 指定组密码(默认不设密码)
    -r, --system

    创建一个系统组。系统组的GID一般是为安装到系统的应用保留的。(系统组GID的值在/etc/login.defs文件定义的SYS_GID_MIN-SYS_GID_MAX范围内:201~999)

    注意:使用-r选项时且不使用-g选项指定GID时,系统默认以GID_MIN-1的方式生成GID,比如系统已经存在编号为999和998的GID,则默认创建下一个GID为997的组

    -R, --root CHROOT_DIR 指定在CHROOT_DIR(改变后的根目录)下更改生效以及使用CHROOT_DIR目录下的配置文件

    实例

    • 分别使用-f-fg选项测试一个已经存在的组

    [root@pople ~]# tail -1 /etc/group && tail -1 /etc/gshadow  # 先检查两个组文件
    anna:x:1002:
    anna:!::
    [root@pople ~]# id anna           
    uid=1002(anna) gid=1002(anna) groups=1002(anna)        
    [root@pople ~]# groupadd -f anna                 # 创建一个存在的组,echo $?返回上一个命令的退出码,显示为0表示命令以成功状态退出
    [root@pople ~]# echo $?
    0
    [root@pople ~]# tail -1 /etc/group && tail -1 /etc/gshadow  # 对比可看到两个组文件信息无变化
    anna:x:1002:
    anna:!::
    [root@pople ~]# groupadd -fg 1002 test 
    [root@pople ~]# tail -2 /etc/group && tail -2 /etc/gshadow  # 对比可以看到-f选项和-g一起使用时,若指定的GID已存在,则GID默认选取:其他组GID最大值+1
    anna:x:1002:
    test:x:1003:
    anna:!::
    test:!::
    [root@pople ~]# groupadd -g 1003 test1                      # 单独-g选项无法跳过已存在的GID而强制创建新组  
    groupadd: GID '1003' already exists
    
    • 使用-o-g选项为指定的组添加一个已存在的GID即此GID将被共享,不再具备唯一性。
    • 使用-r选项创建一个系统组(system group),若不指定GID,则默认选取:其他系统组GID最小值-1
    [root@pople ~]# groupadd -o -g 1003 test1  
    [root@pople ~]# tail -2 /etc/group && tail -2 /etc/gshadow   # 组test和组test1具备相同的GID--1003,此时该GID不再具备唯一性
    test:x:1003:
    test1:x:1003:
    test:!::
    test1:!::
    [root@pople ~]# cat /etc/group |grep 99
    nobody:x:99:
    input:x:999:
    polkitd:x:998:
    ssh_keys:x:997:
    cockpit-ws:x:996:
    [root@pople ~]# groupadd -r sys_account                      # 新系统组GID = 已存在的系统组GID最小值:996 -1 = 995
    [root@pople ~]# cat /etc/group |grep 99
    nobody:x:99:
    input:x:999:
    polkitd:x:998:
    ssh_keys:x:997:
    cockpit-ws:x:996:
    sys_account:x:995:
    [root@pople ~]# groupadd -g 800 test2 && tail -2 /etc/group  # 系统GID和普通的GID并没有界限上的限定,所以选取GID的范围不一定要按照系统默认的范围设置。
    sys_account:x:995:
    test2:x:800:
    [root@pople ~]# 
    

     总结:

    • 系统GID和普通用户的GID并没有界限上的限定,所以可灵活搭配-g选项和其他选项任意指定一个GID。当不搭配-g选项,则系统以默认定义好的配置来创建组,无须关心GID,只需设置组名即可,安全又省事。
    • 组名不能超过32个字符长度。

       

  • 相关阅读:
    .net core在linux下图片中文乱码
    微信公众号开发--.net core接入
    洛谷P3385负环
    洛谷P3387缩点
    洛谷P2312解方程
    洛谷P3366最小生成树
    洛谷P3378堆
    洛谷P2024食物链
    洛谷P2680运输计划
    洛谷P2886牛继电器
  • 原文地址:https://www.cnblogs.com/yuelaoban/p/10666521.html
Copyright © 2011-2022 走看看