一、一些概念
1.安全3A
- Authentication :认证 (密码、指纹等)
- Authorization : 授权
- Accouting|Audition :审计 (时候审计,监控)
2.用户user
- 令牌 token, identity
用户登录系统,成功后,系统会分配给用户一个令牌token,在该用户访问系统中的文件时,文件会审核这个令牌来决定是否给予权限访问该文件。要想获得最新的token,重新登录。 - Linux用户:username、UID (Linux中用户权限看UID)
- 管理员:root,0
- 普通用户:1-65535
- 系统用户:1-499;1-999(centos7)一般指各个进程
- 登录用户:500+,1000+(centos7)
3.组group
- Linxu组:Groupname、GID
- 管理员组:root,0
- 普通组
- 系统用户:1-499;1-999(centos7)一般指各个进程
- 登录用户:500+,1000+(centos7)
- 普通组
4.Linux安全上下文(context)
进程所能够访问资源的权限取决于进程的运行者的身份(用户身份,用户组身份)。即程序能否访问某个文件是由用户身份决定的而非程序本身。
5.group组的类别
- 用户的主要组(primary group)
- 用户必须属于一个且只有一个主要组
- 组名同用户名,且仅包含一个用户,又称私有组
- 用户的附加组(supplementary group)
- 一个用户可以属于0个或多个附加组
即,一个用户可以加入多个组,该用户的权限是组权限的累加;一个组也可以拥有多个用户
二、用户和组的配置文件
1./etc/passwd 用户及其属性信息(名称、UID/主组id等)
cat /etc/passwd
以最后一行songtai为例:
login name:登录用名(songtai)
passwd:密码(x)
UID:用户身份编号(500)
GID:登录默认所在组编号(501)
GECOS:用户全名或注释
home directory:用户主目录(/home/wang)
shell:用户默认使用shell (/bin/bash)
说明:
1.帮助文档: man 5 passwd
2.可用chfn
命令添加修改第5行的信息
3.uid为1-499的为系统程序进程,最后的shell类型为/sbin/nologin,给程序服务使用的shell,用于创建给服务用的账号,其可以限制某些用户通过ssh登陆到shell上。
4.chsh -s /bin/csh songtai
songtai账号更改shell为csh
5.第二列x为密码,其信息记录在/etc/shadow文件下
2./etc/group 组及其属性信息
cat /etc/group
man 5 group 帮助文档
group_name:the name of the group
password: the (encrypted) group password. If this field is empty, no password is needed.
GID:the numerical group ID.
附加组名单user_list:a list of the usernames that are members of this group, separated by commas.附加组的用户列表,用“,”隔开
注意:注意:对一个正在登陆中的用户,对其修改组等相关信息并不会实时更改,需要重新登陆(背后原理:token令牌原理,只有重新登陆系统才会分配其一个最新的令牌,其拿着新的令牌才有访问一些配置文件的权限)
3./etc/shadow 用户密码及其相关属性
cat /etc/shadow
从左至右:
- 登陆用名
- 用户密码:一般用sha512加密
!!:表示账号锁定(useradd sst命令新增的sst用户的密码就是这种情况)
解锁方法:
①nano /etc/shadow 将sst用户第二列的两个!