与标题中的一样:
当我向Parted Magic添加程序时
(如此处所述:https://partedmagic.com/adding-programs/;实际上我是通过使用“ mksquashfs”来“制作自己的包”;在使用“ mksquashfs”之前,我将chmod 777 * -R
应用于了文件系统;然后我复制了生成的* .sqfm文件到指示的文件夹(在USB笔式驱动器上,该文件可保持可引导状态;无需再次写入整个iso映像);从USB笔式驱动器引导Parted Magic时,Parted Magic会自动安装我的文件)
并且我尝试启动firefox(这是Parted Magic标准软件包的一部分),这是不可能的。
(当按原样使用分块魔术(“开箱即用”时,可以毫无问题地启动Firefox)。
当我打开一个终端并输入“ firefox”时,原因很明显,答案是:
“不支持在普通用户会话中以root用户身份运行Firefox。($ HOME是uid 1000拥有的/ root。)
现在,由于Parted Magic是一个实时系统,因此一切都以root用户身份运行是正常的。 因此,显然问题是/ root的所有权更改为uid 1000,但是为了起作用,/ root的所有者应该是root。 (uid 1000是linux创建的第一个“普通”用户(除root用户);这在https://www.linuxquestions.org/questions/linux-general-1/what-is-the-user-1000-a-4175510196/中进行了说明)
当我将/ root的所有权从UID 1000更改为root时,我可以启动firefox,可以通过输入
chown root:root /root &&
chmod 744 /root
(我并没有尝试第二行chmod 744 /root
是使它正常工作的必要条件)
现在,我的问题是:为什么添加自己的程序(或什至是较小的更改,例如放在“ Parted Magic”桌面上的文本文件)会导致/ root的所有权更改为uid 1000?在向“ Parted Magic”中添加内容时,我该怎么办才能避免所有权的这种变化?
我希望这是我提出问题的合适论坛。
答案 0 :(得分:0)
实际上,该问题的解决方案只有一步之遥,但我仍然没有看到:我在使用“ mksquashfs”之前忘记更改文件所有权。
所以我用
sudo chown root:root * -R
将当前目录中所有文件(和所有子目录)的所有权更改为root (请注意:如果在错误的目录中应用该命令,则可能会破坏该系统)
显然发生了什么:在引导过程中“ Parted Magic”安装我添加的* .sqfm文件中包含的文件时,如果其中一个文件在此过程中被添加到/ root,而不是root拥有。
因此,即使这对于大多数精通Linux的人来说都是显而易见的,但也许这对于使用Parted Magic的某些新手(如我)可能会有所帮助...