linux学习-用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建

用户组的操作实际上是对/etc/group文件的更新

增加新的用户组:groupadd 选项 用户组

[root@192 /]# groupadd --help
用法:groupadd [选项] 组

选项:
  -f, --force		如果组已经存在则成功退出
			并且如果 GID 已经存在则取消 -g
  -g, --gid GID                 为新组使用 GID
  -h, --help                    显示此帮助信息并推出
  -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
  -o, --non-unique              允许创建有重复 GID 的组
  -p, --password PASSWORD       为新组使用此加密过的密码
  -r, --system                  创建一个系统账户
  -R, --root CHROOT_DIR         chroot 到的目录

此命令向系统中增加一个新组group1,新组的组标识号在当前已有的最大组标识号的基础上+1

[root@192 /]# groupadd group1

增加新组的时候添加组标识号并查看/etc/group:可以看到我们创建的group1和group2

[root@192 /]# groupadd -g 101 group2
[root@192 /]# cat /etc/group
postdrop:x:90:
postfix:x:89:
huangzheng:x:1002:
group1:x:1003:
group2:x:101:

删除一个已存在用户组:groupdel 用户组

[root@192 /]# groupdel group1

修改用户组的属性:groupmod 选项 用户组

[root@192 /]# groupmod --help
用法:groupmod [选项] 组

选项:
  -g, --gid GID                 将组 ID 改为 GID
  -h, --help                    显示此帮助信息并推出
  -n, --new-name NEW_GROUP      改名为 NEW_GROUP
  -o, --non-unique              允许使用重复的 GID
  -p, --password PASSWORD	将密码更改为(加密过的) PASSWORD
  -R, --root CHROOT_DIR         chroot 到的目录

修改用户组的组标识:

#将用户组的组标识从101改为102
[root@192 /]# groupmod -g 102 group2

修改组名:

#将组名group2改为group3
[root@192 /]# groupmod -n group3 group2

切换组:如果一个用户同时属于一个组,那么用户可以在用户组之间切换,以便举有其他用户的权限,用户在登陆后,使用newgrp切换用户组,这个命令的参数就是用户组,将当前用户切换到用户组

将当前用户切换到root用户组
[root@192 /]# newgrp root

与用户和用户组相关的信息存放在/etc/passwd,/etc/shadow,/etc/group中

/etc/passwd文件是用户管理工作设计的最重要的一个文件,linux中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了用户的一些基本属性,这个文件对所有用户都是可读的

/etc/passwd中的每一行记录对应一个用户,每行记录又被冒号(:)分割为7个字段,其格式和具体含义如下

[root@192 /]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
huangzheng:x:1002:1002::/home/huangzheng:/bin/bash

用户名:口令:用户标识符:组标识符:注释型描述:主目录:登录shell

1)"用户名"是代表用户账号的字符串:通常不超过8个字符,并且由大小写字母,/,数字组成,用户名中不能由(:),冒号在这里是分隔符,为了兼容,登录名中不要包含(.),不要使用(-),(+)打头

2)口令一些系统中,存放加密的用户口令字。真正的加密后的用户口令存放在/etc/shadow,/etc/passwd文件的口令字段中只存放一个特殊的字符,例如‘X’或者‘*’

3)用户标识符是一个整数,系统内部用它来标识用户:一般情况下它与用户名是一一对应的。如果有几个用户名对应的用户标识号是一样,系统内部将他们视为同一个用户,但是它们可以有不同的口令,不同的主目录以及不同的登录shell等。通常用户标识号从100开始,0是超级用户的标识符,1-99由系统保留,作为账号管理,普通用户的标识从100开始。在linux中,这个界限是500.

4)组标识号字段记录的是用户所属的用户组:它对应着/etc/group文件中的一条记录

5)注释性描述字段记录着用户的一些个人情况,例如用户真实姓名,电话,地址等,这个字段没有实际的用途

6)主目录:就是用户的起始工作目录,是用户登录到系统之后所处的目录

7)用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。

系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

8)除此之外还有一些伪用户,这些用户在/etc/passwd文件中也占一条记录,但是不能登录,因为它们的登录shell为空,它们的存在主要是方便系统管理,满足相应的系统进程对文件属性的要求

/etc/shadow:此文件中的记录行与/etc/passwd的意义对应,它由pwconv命令根据/etc/passwd中的数据自动产生,他的文件格式与/etc/passwd类似,若干个字段组成,字段之间用":"隔开。这些字段是:登录名:加密口令:最后一次修改时间:最小间隔时间:最大间隔时间:警告时间:不活动时间:失效时间:标志

拓展:

  1. "登录名"是与/etc/passwd文件中的登录名相一致的用户账号

  2. "口令"字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录。

  3. "最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。

  4. "最小时间间隔"指的是两次修改口令之间所需的最小天数。

  5. "最大时间间隔"指的是口令保持有效的最大天数。

  6. "警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

  7. "不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。

  8. "失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

/etc/group:用户组的所有信息都存放再/etc/group文件中

ast login: Fri Oct 28 22:37:28 2022
[root@192 ~]# cat /etc/group
root:x:0:
bin:x:1:

将用户分组是linux系统中对用户经行管理级控制访问权限的i中手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的组是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。

用户组的所有信息都放在/etc/group中,此文件的格式也类似于/etc/passwd问价,由":"隔开若干个字段,这些字段有:组名:口令:组标识号:组内用户列表

  1. "组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

  2. "口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。

  3. "组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。

  4. "组内用户列表"是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值