嵌入式系统根文件系统搭建全解析
1. 文件所有权与权限
在将文件放置到目标设备时,文件的所有权和权限至关重要,关乎系统的安全性和稳定性。一般而言,应限制敏感资源仅对 root 用户开放,并且尽可能使用非 root 用户运行程序,以减少外部攻击时攻击者可获取的系统资源。
例如, /dev/mem 设备节点可访问系统内存,若对所有用户可读可写,会存在严重安全隐患。因此, /dev/mem 应由 root 用户拥有,属于 root 组,权限模式设为 600,即仅所有者可读写。
在临时目录创建的文件通常归当前用户所有,但安装到设备上时,大部分应归 root 用户。可使用以下命令更改所有权:
$ cd ~/rootfs
$ sudo chown -R root:root *
不过,运行 chown 命令需要 root 权限,之后修改临时目录中的文件也需 root 权限,这可能导致开发时一直以 root 用户登录,存在风险。
2. 根文件系统所需程序
根文件系统需要一系列必要的程序、支持库、配置文件和数据文件,以下是主要程序类型:
- init 程序 :作为系统启动的首个程序,是根文件系统的核心。这里使用 BusyBox 提供的简单 init 程序。
- Shell :用于运行脚本和提供命令行交互,虽生产设备可能无需交互式 shell,但对开发、调试和
超级会员免费看
订阅专栏 解锁全文
460

被折叠的 条评论
为什么被折叠?



