一.用户及用户相关文件

(1)用户账号文件: /etc/passwd   

字段1: 用户名
字段2: 密码位
字段3: 用户 ID
     0 超级用户 UID。如果用户 UID 为 0,代表这个账号是管理员账号。那 Linux 中如何把普通用户升级成为管理员呢?就是把其他用户的 UID 修改为 0 就可以了,这点和Windows 是不同的。不过不建议建立多个管理员账号。
     1-499 系统用户(伪用户)UID。这些 UID 账号是系统保留给系统用户的 UID,也就是说 UID 是 1-499 范围内的用户是不能登录系统的,而是用来运行系统或服务的。其中 1-99 是系统保留的账号,系统自动创建。100-499是预留给用户创建系统账号的。
     500-60000 普通用户 UID。建立的普通用户 UID 从 500 开始,最大到 60000。这些用户足够使用了,但是如果不够也不用害怕,2.6.x 内核以后的 Linux 系统用户 UID 已经可以支持 232 这么多了。

字段4:组 ID GID 添加用户时,如果不指定用户所属的初始组,那么会建立和用户名相

字段5: 用户说明
字段6:用户家目录 ~
字段7: 登录 shell /bin/bash

  (2)用户影子文件 /etc/shadow

字段1: 用户名

字段2: 加密密码

字段3: 密码最近更改时间, 1970 年 1 月 1 日作为标准时间时间戳转日期日期转时间戳
字段4: 两次密码的修改间隔时间(和第 3 字段相比)
字段5: 密码有效期(和第 3 字段相比)
字段6: 密码修改到期前的警告天数(和第 5 字段相比)

字段7: 密码过期后的宽限天数(和第 5 字段相比)

字段8: 密码失效时间,这里同样要写时间戳,也就是用 1970 年 1 月 1 日进行时间换算。如果超过了失效时间,就算密码没有过期,用户也就失效无法使用了
字段9: 保留


(3)用户组信息文件:/etc/group

字段1: 组名
字段2: 组密码位

字段3: GID

字段4: 此组中支持的其他用户.附加组是此组的用户

(初始组:每个用户初始组只能有一个,初始组只能有一个,一般都是和用户名相同的组作为初始组。附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组)

  (4)用户组密码文件:/etc/gshadow

          如果我给用户组设定了组管理员,并给该用户组设定了组密码,组密码就保存在这个文件当中。组管理员就可以利用这个密码管理这个用户组了。

二.管理用户及用户组相关的命令

  (1)添加用户

命令:useradd

语法格式:useradd(选项)(参数)

选项:

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户id。 
  
  (2)修改用户信息
命令:usermod
语法格式:usermod(选项)(参数)
选项:
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。

  (3)删除用户
命令:userdel
语法格式:userdel(选项)(参数)
选项:
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。

  (4)添加用户组
命令:groupadd
语法格式:groupadd(选项)(参数)
选项:
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。
(5)修改用户组属性
命令:groupmod
语法格式:groupmod(选项)(参数)
选项:
-g<群组识别码>:设置欲使用的群组识别码;
-o:重复使用群组识别码;
-n<新群组名称>:设置欲使用的群组名称。
(6)删除用户组
命令:groupdel
语法格式:groupdel(参数)