我正在尝试操作一个包含 yocto 构建和应用程序有效负载的 squashfs 文件,但每次这样做时,sudo
之后都无法执行。 root 用户被禁用,所以我没有真正的选择。
我的方法是仅解压文件系统,然后重新打包解压的文件。在这个过程中,所有者被设置为我的本地用户(这很好——我可以解决这个问题),并且 setuid 似乎已从 sudo 中删除。
答案1
假设您正在unsquashfs
解压文件,您将获得一组属于您的文件,并且没有 setuid 位。但是您可以手动将 setuid 位放回您想要的任何文件上(使用chmod u+s
);当然他们会被 setuid 为你的 id。但是,当您使用mksquashfs
add 选项重新打包文件时-all-root
,文件系统中的所有文件将归 root 而不是您所有,并且任何 setuid 位都将被保留。