嵌入式系统根文件系统构建指南
一、暂存目录中的文件所有权和权限
在目标设备上部署文件时,关注文件的所有权和权限对于安全性和稳定性至关重要。一般来说,应限制敏感资源仅由 root 用户访问,并尽可能使用非 root 用户运行程序,以减少外部攻击时攻击者可获取的系统资源。
例如, /dev/mem 设备节点可访问系统内存,但如果该节点对所有用户都可读可写,就会存在安全隐患。因此, /dev/mem 应归 root 用户所有,属于 root 组,权限模式设为 600,即仅所有者可读写。
在暂存目录中,创建的文件通常归当前用户所有,但安装到设备上时,这些文件应归特定的所有者和组,大多是 root 用户。可以使用以下命令更改所有权:
$ cd ~/rootfs
$ sudo chown -R root:root *
然而,运行 chown 命令需要 root 权限,之后修改暂存目录中的文件也需要 root 权限,这可能导致开发时以 root 用户登录,存在安全风险。
二、根文件系统所需程序
现在开始向根文件系统中添加必要的程序、支持库、配置和数据文件。以下是所需程序的概述:
1. init 程序 :init 是根文件系统中第一个运行的程序,本文使用 BusyBox 提供的简单 init 程序。
2. Shell :需要一个 shell 来运行脚本和提
超级会员免费看
订阅专栏 解锁全文
669

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



