用户名:口令:UID:GID:描述性信息:主目录:默认Shell
代表用户账号的字符串,不得含有冒号(:),最好不要包含点字符(.),且不使用连字符(-)和加号(+)作为首字符。
“x”或者“*”,真正的密码保存在/etc/shadow中,/etc/passwd文件所有用户均可读,/etc/shadow只有root可以读写。
UID即用户ID,每个用户具有唯一的UID,Linux系统中通过UID识别不同用户。RHEL8中用户UID分类如下:
UID范围 | 用户身份 |
---|---|
0 | 系统的管理员用户。 |
1-999 | 系统用户。避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会由独立的系统用户负责运行,进而有效控制被破坏的范围。通常不可以登录。如:shutdown(6)、bin(1)、ftp(14)、halt(7)、mail(8) |
0 | 普通用户。由管理员创建的用于日常工作的用户。 |
用户初始组的组ID号。
初始组。用户登录时就拥有这个用户组的相关权限,每个用户初始组只有一个,通常将与用户名同名的组作为该用户初始组。用系统管理员创建用户“linuxprobe”时,会生成linuxprobe组即为初始组。
附加组。用户可以加入多个其他的用户组,并拥有其他组的权限,这些即为附加组,可以有多个。
存放任意的注释性描述文字。
用户登录到系统之后所处目录,多数情况下,各用户的主目录都在一个特定目录下,而用户主目录名称即为该用户登录名,各用户对自己的主目录具有读、执行(搜索)权限。
如root的主目录为/root,新建用户linuxprobe的主目录为/home/linuxprobe。
命令解释器(Shell),将用户输入的命令转换成系统可以识别的机器语言。主流Linux默认使用的为Bash(/bin/bash)解释器,如:
linuxprobe: x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
若改为/sbin/nologin,则表示不能该用户不能登录。
bin: x:1:1:bin:/bin:/sbin/nologin
此外,还有多种Shell,如sh,csh,ksh,tcsh等。
按行记录用户。该文件的预设权限为[-rw------]/[---------],且只有root可以读写。
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
同/etc/passwd中的用户名。
经过加密算法的口令,格式为\$id\$salt\$encrypted
,id代表加密算法,salt为随机数,encrypted为加密密文。
id | 加密算法 |
---|---|
1 | MD5 |
5 | SHA256 |
6 | SHA512 |
2、2y、y | Blowfish |
salt为盐值,一个固定长度的随机字符串,每次修改密码后,随机生成该字符串,对密码进行hash一个干扰值,encrypted为散列值。
表示最后一次修改密码的时间。19458表示从1970 年 1 月 1 日之后19458天修改了密码。
[root@hostname etc]# date -d “1970-01-01 19458 days”
Tue Apr 11 00:00:00 CST 2023
规定从最后一次修改密码的日期起,多长时间不能修改密码,0表示随时可以修改。
规定从最后一次修改密码的日期起,多长时间必须修改密码,默认99999(表示密码永久有效),常改为90。
提醒用户“再过n天密码到期!”,默认为7,距离密码有效期的倒数第7天,每次用该用户登录系统即会发出警告。
密码过期后,仍未修改密码但还是可以登录。0表示密码过期后立即失效,-1表示永久不失效,10表示过期10天后失效。
自1970 年 1 月 1 日以来的总天数作为账户失效时间,在此规定时间之外,无论过期与否,账号均无法使用。
暂未使用。