文档章节

linux基础命令--groupadd 创建新的群组

o
 osc_gu9d45li
发布于 2019/04/09 18:30
字数 1031
阅读 7
收藏 0

精选30+云产品,助力企业轻松上云!>>>

描述

  • 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个字符长度。

   

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Linux基础命令学习——创建与管理Linux用户组(十一)

一名菜鸟学习编程技术,记录所学知识并分享给大家,希望大家多多支持。 1、创建Linux用户组 用来添加用户 为了能够更加高效地指派系统中各个用户的权限,我们会把几个用户加入到同一个用户组...

osc_sejhgcp0
05/10
13
0
Linux基础命令学习——创建与管理Linux用户组(十一)

一名菜鸟学习编程技术,记录所学知识并分享给大家,希望大家多多支持。 1、创建Linux用户组 用来添加用户 为了能够更加高效地指派系统中各个用户的权限,我们会把几个用户加入到同一个用户组...

王菜鸟
05/09
0
0
Linux基础命令---添加组groupadd、删除组groupdel

groupadd 指定群组名称来建立新的群组账号,需要时可以从系统中取得新的群组值。 此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法 groupadd [选项] gro...

osc_ar3gg5om
2019/01/29
2
0
Linux用户和组管理命令

一、用户管理命令 useradd useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立...

Linux学生
2018/01/18
0
0
groupadd命令详解

基础命令学习目录首页 原文链接:https://wtj6891.iteye.com/blog/2096076 groupadd创建组群   使用groupadd命令可以在系统中创建组群账户   语法:   groupadd[选项][组群名] groupad...

osc_02vmpq90
2019/02/05
3
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在控制器中使用过滤器? - How to use a filter in a controller?

问题: I have written a filter function which will return data based on the argument you are passing. 我编写了一个过滤函数,它将根据您传递的参数返回数据。 I want the same functi......

富含淀粉
30分钟前
20
0
android:layout_weight是什么意思? - What does android:layout_weight mean?

问题: I don't understand how to use this attribute. 我不明白如何使用这个属性。 Can anyone tell me more about it? 谁能告诉我更多关于它的事情? 解决方案: 参考一: https://stacko...

javail
今天
17
0
CSS背景不透明度[重复] - CSS Background Opacity [duplicate]

问题: This question already has an answer here: 这个问题已经在这里有了答案: How do I give text or an image a transparent background using CSS? 如何使用CSS为文本或图像提供透明背...

fyin1314
今天
17
0
node http 获取gb2312网页如何转为utf8

最初,我想当然认为是下述做法,但被证明是错误的 const http = require('http'), iconv = require('iconv-lite');const url = 'http://xxx';http.get(url, function(res) { var bo......

高延
今天
24
0
动态规划:LC198.打家劫舍

题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入...

曦鱼violet
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部