我正在尝试创建一个CRAMFS文件系统,但我正在努力获取权限。如何设置权限,以便当主机挂载文件系统时,它将是root:root?
创建CRAMFS后,它是一个只读FS,因此不会发生任何变化;因此我需要在运行mkcramfs之前设置更改。
目前我可以通过设置777来使事情变得有效;但在将其安装到设备上并检查权限后,我发现它们被设置为1000:232而不是root:root。显然我不能说 - 只读。而且由于没有足够的磁盘空间,我也无法在设备上解压缩,重新打包和重新打包CRAMFS。
我怀疑它与设备上root用户和组的UID / GID有关,并在打包CRAMFS之前正确设置。 BTW - 设备上限制版本的Linux没有ID命令。
任何帮助将不胜感激!
答案 0 :(得分:0)
要使用root权限构建文件系统,您需要是root用户。无论是真的还是虚拟的:
sudo mkcramfs root-dir cramfs.img
或
fakeroot mkcramfs root-dir cramfs.img
sudo确实为您提供了root权限,但此操作并不是必需的。 fakeroot使用shim库执行LD_PRELOAD,以说服正在运行的应用程序它确实是root用户(即使它不是)。 fakeroot是常用的debian软件包维护者,用于将软件包构建为“root”而不是实际的root。