/etc/passwd 是 Linux中用于存储用户信息的文件,包括口令在内的所有用户信息都被保存在了/etc/passwd中,出于安全考虑,/etc/passwd中的口令用x代替,真正的用户口令 通过加密算法加密后 写入 /etc/shadow 中,/etc/shadow 文件 仅root用户可以查看。
Linux 可以识别不同的加密算法,通过分析加密后的数据,Linux可以识别其加密算法。
目前,在Linux上使用最广泛的加密算法为MD5,MD5可以对任意长度的密码进行加密,且不会产生损失。在用MD5进行加密时,会向口令中添加一些盐值(salt),这样即便是相同的口令,salt不同,由MD5加密后的结果也不同。由MD5加密后的数值长度为34个字符,总以
开头。
另外一种常见的加密算法为 Blowfish,加密后的数值以
开头。
/etc/passwd 中的文件信息如下:
UID是一个32位无符号整数,是用户的唯一标识符,root的UID为0,其他虚拟用户会被分配到一些较小的UID号,这些用户通常被安排在passwd的开头。一般,应从较大的数开始给真实用户分配UID,这样可以为虚拟用户提供足够多的UID号。
GID号用于在用户登录时指定其默认所在的组,和UID一样,其为32无符号整数。组在/etc/group中有定义。
默认组只有在用户创建文件和目录时才有用,举例来说,john同时属于group1, group2, john 3个组,这3个组中的 文件 或 目录 john均可访问,而当john 新建一文件 或 目录时,这个文件 或 目录 所属的组即为 john。