越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。在
Linux
中主要是通过用户配置文件来查看和修改用户信息。
一、用户信息文件-----/etc/passwd
可以通过vim /etc/passswd
来查看文件内容,其中一共包括七个字段。
- 第
1
字段:用户名称; - 第
2
字段:密码标志(标志该用户密码是否存放在此文件中); - 第
3
字段:UID(用户ID),“0” 表示超级用户,“1-499” 表示系统用户即伪用户,“500-65535” 表示普通用户; - 第
4
字段:GID(用户初始组ID),初始组
指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组。附加组
指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个; - 第
5
字段:用户说明; - 第
6
字段:家目录,普通用户(/home/用户名/
,所有者和所属组都是此用户,权限是700),超级用户(/root/
,所有者和所属组都是root用户,权限是550); - 第
7
字段:登录之后的Shell。
二、用户信息文件-----/etc/shadow
可以通过vim /etc/shadow
来查看文件内容,其中一共包括九个字段。
- 第
1
字段:用户名称; - 第
2
字段:加密密码,加密算法升级为SHA512
散列加密算法,如果密码位是 “!!” 或 “*” 代表没有密码,不能登录; - 第
3
字段:密码最后一次修改日期,使用1970年1月1日作为标准时间,每过一天时间戳+1; - 第
4
字段:两次密码的修改时间间隔; - 第
5
字段:密码有效期; - 第
6
字段:密码修改到期前的警告天数; - 第
7
字段:密码过期后的宽限天数; - 第
8
字段:账号失效时间,用时间戳表示; - 第
9
字段:保留。
date -d "1970-01-01 16066 days" 把时间戳换算为日期
echo $(($(date --date="2020/11/16" +%s)/86400+1)) 把日期换算为时间戳
三、组信息文件-----/etc/group
可以通过vim /etc/group
来查看文件内容,其中一共包括四个字段。
- 第
1
字段:组名称; - 第
2
字段:组密码标志; - 第
3
字段:GID(组ID); - 第
4
字段:组中附加用户。
四、组密码文件-----/etc/gshadow
可以通过vim /etc/gshadow
来查看文件内容,其中一共包括四个字段。
- 第
1
字段:组名称; - 第
2
字段:组密码; - 第
3
字段:组管理员用户名; - 第
4
字段:组中附加用户。
五、用户的邮箱-----/var/spool/mail/用户名/
六、用户模板目录-----/etc/skel
当一个用户被创建时,该用户的家目录会默认多出模块目录下的文件。