每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,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为空,它们的存在主要是方便系统管理,满足相应的系统进程对文件属性的要求
下一篇:饲料板块毛利润分析主逻辑SQL