书接上回:[busybox] busybox生成一个最精简rootfs(上)
本篇介绍几个rootfs中用到的“不是那么重要的”几个文件。
9 /etc/shadow 和 /etc/passwd
曾经,/etc/passwd
文件用于存储独立 Linux 系统中的所有登录信息。 后来,由于以下原因,密码信息被移动到 /etc/shadow
文件中。
/etc/passwd
文件只有一个密码信息字段。 由于只有一个字段,除了加密密码外,其他密码相关信息不能存储在该文件中。- 对于密码加密,
/etc/passwd
文件支持DES等基本算法。 黑客可以轻松泄露使用 DES 算法加密的密码。 /etc/passwd
文件是全局可读的。 这意味着任何本地用户都可以查看存储在该文件中的密码。
/etc/shadow
文件解决了上述所有问题。
/etc/shadow
文件有九个字段用于存储加密密码和其他密码相关信息。/etc/shadow
文件支持所有高级算法,并有足够的空间供进一步更新。/etc/shadow
文件只能由 root 用户读取。
/etc/shadow
文件的格式:
最简单的shadow举例:
root::15069:0:99999:7:::
nobody:*:15069:0:99999:7:::
最简单的passwd举例:
root:x:0:0:root:/home/root:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/sbin/nologin
10 /etc/group
它存储组信息或定义用户组,即定义用户所属的组。 每行一个条目,每行具有以下格式(所有字段以冒号 ( : ) 分隔)
其中,
group_name
: 组名。 如果您运行ls -l
命令,您将看到该名称打印在组字段中。Password
: 一般不使用密码,因此为空/空白。 它可以存储加密密码。 这对于实现特权组很有用。Group ID (GID)
: 必须为每个用户分配一个组 ID。 您可以在/etc/passwd
文件中看到这个数字。Group List
: 它是作为组成员的用户的用户名列表。 用户名必须用逗号分隔。
Reference:
- /etc/shadow file in Linux Explained with Examples