账号管理命令和文件分析

账号管理命令:

1.创建用户 useradd

新的用户可以使用useradd命令创建

[root@localhost ~]# useradd -m Bob

2.创建组 groupadd

增加一个新用户组可以使用 groupadd命令。
[root@localhost ~]# groupadd  选项  用户组
常用的选项:
-g   GID指定新用户组的组标识号(GID).
-o   一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同.
3.查看uid和gid
通过id命令可以查看用户所属的基本组和附加组信息。
UID(用户ID)是Lnux系统中每一个用户的唯一标识符。

[root@localhost ~]# id Bob
●root用户的UID为固定值0
●系统用户的UID默认值为1~499。
●500~60000的UID默认值分配给普通用户使用。每一个组也有一个数字形式的标识符,称为GID(组ID)
●root组的GID为固定值0
●系统组的GID默认值为1~499。
●普通组的GID默认值为500-60000.

4.修改用户
修改用户就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用 usermod命令,其格式如下
格式: usermod 选项 用户名

[root@localhost ~]# usermod --help

[root@localhost ~]# usermod -g root Bob

5.删除用户
如果一个用户的账号不再使用,可以从系统中将其删除。删除用户就是将/etc/ passwd等系统文件中的该用户记录删除,必要时还可以删除用户的主目录。
删除一个已有的用户账号使用 userdel命令,其语法如下:
格式: userdel 选项 用户名
常用的选项:
-r   把用户的主目录一起删除。

[root@localhost ~]#userdel -r Bob

6.修改组
修改用户组的属性使用 groupmod命令,其语法如下。
格式: groupmod 选项 用户组
常用的选项:
-g   GID为用户组指定新的组标识号;
-o   与 -g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同;
-n   新用户组  将用户组的名字改为新名字。

[root@localhost ~]# groupmod -g 1004 group

[root@localhost ~]#grep group /etc/group

7.删除组
删除用户组使用 groupdel命令,其语法如下:
格式: groupdel 用户组

[root@localhost ~]# groupdel group

8.为用户设置密码
口令管理指的是通过密码管理不同的用户,刚创建的用户没有密码且不能使用,需要设定密
码才能使用。 Linux系统中可以使用 passwd命令修改密码。root用户可以为自己和其他用户指定密码,普通用户只能修改自己的密码。
格式: passwd 选项  用户名
常用的选项:
-d   清空密码;
-|    锁定用户账号;
-u   解锁用户账号。

 [root@localhost ~]# passwd Bob

更新用户Bob密码

新的密码:

重新输入新的密码:

 

文件分析:

1./etc/ passwd 文件:
/etc/ passwd文件是文本文件,包含用户登录需要的相关信息,每行代表一个用户的信息,该文件对所有用户可读。

 [root@localhost ~]# grep Bob /etc/passwd

Bob:x:1001:1001::/home/tang:/bin/bash

每行的各字段之间用冒号“:”分隔,其格式和具体含义如下。

存储格式:name: password:UD:GD: comment: directory: shell:
●第1个字段:用户名
●第2个字段:密码占位符,所谓密码占位符,只表示这是一个密码字段,用户的密码并不是存放在这里,而是存放在/etc/ shadow中
●第3个字段:用户的UID
●第4个字段:用户所属组的GID。
●第5个字段:用户注释信息,可填写与用户相关的一些说明信息,该字段是可选的。
●第6个字段:用户主目录。
●第7个字段:用户登录所用的Shell类型,默认为/ bin/bash
基于系统运行和管理需要,所有用户都可以访问 etc/passwd文件中的内容,但是只有root用户才能修改。

2./etc/ shadow文件:
/etc/ shadow文件包含用户密码的加密信息及其他相关安全信息。为了安全起见,只有root用户才有权限读取 shadow文件中的内容,普通用户无法查看,即使是root用户,也不允许直接编辑 shadow文件中的内容。

●第1个字段:用户名

●第2个字段:$为分隔符,首先是使用的加密算法,其次是salt(随机数),最后才是加密的密码本身。

●第3个字段:从1970年1月1日算起,密码被修改的天数(最近一次更改密码)。

[root@localhost ~]# grep Bob /etc/shadow

3./ etc/group文件:
用于保存组账号基本信息的文件是 
/etc/group,存储格式为: group_name:password:G|D:user list。
每行信息包括4个字段,各字段的含义如下。
●第1个字段: group name,组名。
●第2个字段: password,用户组的口令,用占位符x表示,一般 Linux用户组都没有口令。
●第3个字段:G|D,组|D。
●第4个字段: user list,用户列表,注意,这里列出的是以该组为附加组的用户列表,以此组为主组的用户并没有被列出。

[root@localhost ~]# grep Bob /etc/group

4./etc/ shadow文件
/etc/ shadow文件包含组密码的加密信息,与/ec/ shadow文件类似,只能被root用户访问。/etc/ shadow和 letc/group是互补的两个文件。对于大型服务器,往往面对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极为必要的。
存储格式为:组名:口令:组管理者:组内用户列表。各字段的含义如下。
●组名:用户组的名称,由字母或数字构成。
●口令:用户组密码,这个字段可以是空或“!”,如果是空的或有“!”,表示没有密码。
●组管理者:这个字段也可以为空,如果有多个用户组管理者,用逗号分隔。
●组内用户列表:如果有多个成员,用逗号分隔。

[root@localhost ~]# grep Bob /etc/gshadow

上一篇:yum命令和配置文件分析


下一篇:docker-centos7