资源分派:
Authentication:认证
Authorization:授权
Accouting|Audition:审计
1、用户user
令牌token
用户登录,系统会给予用户相应的令牌,不同的令牌赋予了用户不同的操作权限,若更新了用户的令牌权限,用户需要重新登录账号以获取新的令牌。
id
可查看当前用户的uid gid groups等信息
*Linux用户和组的主要配置文件:
/etc/passwd:用户及其属性信息(名称、UID、主组ID等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
**etc下的配置文件都有严格的格式要求,可通过man帮助查看格式
pwunconv
还原passwd文件里面的密码显示
pwconv
遮挡passwd文件里面的密码显示
**linux系统必须要有至少一个管理员uid=0,若没有则无法正常启动系统。
login name:登录用名(wang)
passwd:密码 (x)
UID:用户身份编号 (1000)
GID:登录默认所在组编号 (1000)
GECOS:用户全名或注释
home directory:用户主目录 (/home/wang)
shell:用户默认使用shell (/bin/bash)
chfn tiny
修改tiny的GECOS:用户全名或注释的内容
**在配置文件/etc/passwd里修改用户的家目录,要注意以下几个问题:
1)新配置的目录必须确保已被创建或者已存在
2)新配置的目录里要有必要家目录的初始配置文件,系统默r认创建用户时给家目录复制配置文件,文件保存在/etc/skel,
举例:修改tiny用户家目录为data/tiny,添加相应配置文件,命令如下:
cp -r /etc/skel/.[^.]* data/tiny
tiny用户并不是管理员账户,因此无法通过cp -a 把所有权限信息都复制到 data/tiny ,只能-r
** /etc/skel/ 目录下存放了初始化家目录的文件
cat /etc/shells
查询shell类型
chsh -s /bin/csh tiny
修改tiny用户的shell类型为csh
/sbin/nologin 是特殊的shell类型,用于给系统账户使用的
su - tiny
临时切换成tiny账号,输入exit,可返回到原来账户
/etc/shadow 文件存放用户密码
shadow文件第2个域(列、属性、字段)是用户密码,根据一定加密算法进行了加密。!!双叹号用于锁定账号。
不同的前缀代表不同的加密算法,$1 表示MD5的加密算法,MD5目前已经被破解,$6表示sha512加密算法
shadow文件第3个域(列、属性、字段)表示创建时间,如果为0,表示用户下次登录的时候,用户需要修改密码
shadow文件第4个域(列、属性、字段)表示X天之后才可以改密码,0就表示随时可以改密码。
shadow文件第5个域(列、属性、字段)表示密码的有效期,默认99999天。
shadow文件第6个域(列、属性、字段)表示过期前X天通知你即将过期,默认提前7天。
shadow文件第7个域(列、属性、字段)表示过期宽限期,默认没有设置。
shadow文件第8个域(列、属性、字段)表示账户有效期,与密码没有关系。
*更改加密算法
authconfig --passalgo=sha256 --update
以上命令改成sha256加密算法,实际上修改了/etc/login.defs
useradd tiny
创建账号tiny
usermod -U tiny
解锁账号的叹号,centos6以后就不允许该命令解锁,将导致账户可以无密码登录
passwd -e tiny
让tiny账号密码期间立即过期
chage -d 0 tiny
让tiny账号密码期间立即过期
chage -l tiny
以上命令,查看用户密码情况
chage tiny
交互式更改tiny密码配置
修改/etc/login.defs,可以更改默认创建用户时的密码参数
配置文件 /etc/default/useradd
存放了用户创建时,系统自动调用创建的文件信息
输入:usaeradd -D
直接可以查看 /etc/default/useradd
usaeradd -D -s /bin/csh
直接修改配置文件里的shell类型
useradd -u 1111 tiny
指定UID=1111 创建tiny 账号
getent passwd tiny
只显示passwd文件里,tiny用户一条信息
useradd -g root tiny
创建tiny用户时,将root组作为tiny主组,此时tiny组将不会创建
useradd -G "root,abc" tiny
加到root,abc两个辅助组,主组还是tiny
useradd -d /data/tiny tiny
创建tiny时指定家目录 /data/tiny,此时家目录将自动生成配置文件
useradd -s /sbin/nologin -r tiny
指定shell类型创建用户,-r设置成系统账号,此时将没有家目录
useradd -s /sbin/nologin -r -m tiny
加上-m 强行创建家目录
useradd -M tiny
强行不创建家目录
useradd -N tiny
创建的tiny账号,主组不加入tiny同名,加入到gid为100的users组
usermod -aG root tiny
把tiny添加到root附加组,不覆盖原来的tiny附加组
usermod -G "" tiny
usermod -G "tiny" tiny
把tiny从所有附加组中移除
usermod -l ttiny tiny
改用户名为ttiny,但是其他相应配置文件包括家目录的名字并没有跟着修改
usermod -e 20180505 tiny
给用户账号tiny设置过期日期20180505
userdel -r tiny
删除用户tiny账号,包括家目录,邮箱
2、group命令
/etc/group
第4个域(列、属性、字段)指附加组的成员
/etc/gshadow
组配置文件
groups tiny
以上命令可查看tiny属于什么组(id 命令也可以)
Linux组:Groupname/GID
管理员组:root, 0
系统组:1-499, 1-999(CENTOS7)
普通组:500+ 1000+(CENTOS7)
默认情况下,创建了一个用户,系统会自动创建一个同名组,并把该用户加入到同名组。如创建tiny,则创建tiny组同时将tiny加入到组中(也叫私有组)。
*Linux组的类别
用户的主要组(primary group)
用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户,私有组
用户的附加组(supplementary group)
一个用户可以属于零个或多个辅助组
**默认同名组是主组,但主组可以改变,不一定要同名组作为主组
**普通用户可以把自己加入到某个组,前提是知道这个组的密码
gpasswd tiny
给tiny组添加密码
newgrp root
以上命令,将当前用户的主组更换为root组,tiny组变成附加组(需要输入组密码)
如果tiny原本已经加入了root组作为附加组,newgrp root 命令不再需要输入组密码
pwck
检查/etc/passwd配置文件的语法错误
grpck
检查/etc/gpasswd配置文件的语法错误
用户管理命令
useradd
usermod
userdel
组帐号维护命令
groupadd
groupmod
groupdel
id [OPTION]... [USER]
-u: 显示UID
-g: 显示GID
-G: 显示用户所属的组的ID
-n: 显示名称,需配合ugG使用
su - root -c 'cat /etc/shadow'
su命令,短暂切换到root账号,执行cat /etc/shadow 命令之后,立即返回到原来账号
** 切换了一次账号之后,用exit退回去原来身份后,再切换到其他账号,尽量避免在不退出的情况下多次切换
groupmems -l -g tiny
以上命令可查看tiny组里面有什么成员