1.用户管理简介
所以越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。
在Linux中主要是通过用户配置文件来查看和修改用户信息。
2. 用户信息文件 /etc/passwd
第1字段:用户名称
第2字段:密码标识
第3字段:UID(用户ID)
0: 超级用户
1-499:系统用户(伪用户)
500-65535:普通用户
第4字段:GID(用户初始组ID)
第5字段:用户说明
第6字段:家目录
普通用户:/home/用户名/
超级用户:/root/
第7字段:登录之后的Shell
3.初始组和附加组
初始组:就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,
一般就是和这个用户名相同的组名作为这个用户的初始组。
附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。
4. Shell是什么
Shell就是Linux的命令解释器
在/etc/passwd当中,除了标准Shell是/bin/bash之外,还可以写如/sbin/nologin,/usr/bin/passwd等
5.影子文件/etc/shadow
第1字段:用户名
第2字段:加密密码
加密算法升级为SHA512散列加密算法
如果密码位是 "!!" 或 “ *” 代表没有密码,不能登录
第3字段:密码最后一次修改日期
使用1970年1月1日作为标准实际那,每过一天时间戳加1
第4字段:两次密码的修改时间间隔(和第3字段相比)
第5字段:密码有效期(和第3字段相比)
第6字段:密码修改到期前的警告天数(和第5字段相比)
第7字段:密码过期后的宽限天数(和第5字段相比)
0:代表密码多期后立即失效
-1:则代表密码永远不会失效
第8字段:账号失效时间
要用时间戳表示
第9字段:保留
6.时间戳换算
把时间戳换算为日期:date -d "1970-01-01 16066 days"
把日期换算为时间戳:echo $(($(date --date="2014/01/06" +%s)/86400+1))
7.组信息文件/etc/group
第1字段:组名
第2字段:组密码标志
第3字段:GID
第4字段:组中附加用户
8.组密码文件/etc/gshadow
第1字段:组名
第2字段:组密码
第3字段:组管理员用户名
第4字段:组中附加用户