一、Linux用户基本概念
1、 3A认证机制
计算机如何区分不同的使用者呢 ? ---> 用户标识(用户名、GID)、密码;
认证信息:通过比对事先存储的,与登录时提供的信息是否一致
Authentication: 认证机制,通过某种方案来确认用户是其声称的用户,如密码、生物识别等
Authorization: 授权机制, 资源使用级别(Linux只有管理员和普通用户两级分配机制,权限)
Audition: 审计机制,监督权限的使用 ,log审计凭据---额外审计功能SELinuse
2、 用户分类
用户标识: UserID, UID, 16bits 二进制数表示,也就是: 0 - 65535
Linux内核(2.6.x)已经可以支持到2^32 - 1 个标识符。
3、 用户配置文件
(1) 用户信息库: /etc/passwd
格式(七段):account:password:UID:GID:GECOS:directory:shell
account: 用户名
password:占位符x;
UID:用户的ID号
GID:用户所属的主组的ID号;
GECOS:注释信息
directory:用户的家目录;
shell:用户的默认shell,登录时默认shell程序;
(2)密码存储位置: /etc/shadow
格式(九段):用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期宽限时间:账号失效日期:保留字段
login name:用户名
encrypted password:经过编码的密码
date of last password change:密码最近一次修改密码的时间
minimum password age:密码最短使用期限
maximum password age:密码最长使用期限:表示两次修改密码的最长间隔。
password warning period:警告时间:表示在密码快要过期之前的多少天开始警告用户修改密码。
password inactivity period:过期宽限时间:表示在密码过期以后,还允许用户登录的时间,只不过在这段时间里登录系统以后就必须要修改密码才能使用系统。
account expiration date:账号失效日期,该账号被禁用
reserved field:保留字段
(3)创建新用户默认属性: /etc/default/useradd
# useradd defaults file
GROUP=100 # 创建组
HOME=/home # 默认家目录
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash # 默认shell
SKEL=/etc/skel # 默认家目录的文件
CREATE_MAIL_SPOOL=yes # 自动创建mail
二、用户组
1. 用户组(用户容器)的分类
组标识:GroupID, GID
16bits二进制数字:0-65535
(1)系统视角:管理员用户组&普通用户组
管理员组:0
普通用户组:1-65635
系统用户组:1-499(CentOS6), 1-999(CentOS7)
登录用户组:500-60000(CentOS6), 1000-60000(CentOS7)
(2)用户视角:基本组&附加组
用户的基本组:用户本身所属组
用户的附加组:用户额外所支持的组
有效组:
## 查看用户所属的组,第一个为有效用户组
# groups
##切换有效组为其他辅组
# newgrp GROUP
其实这个命令导致创建了一个子shell。