什么用户安装 .deb 软件包?

什么用户安装 .deb 软件包?

我在安装时遇到了一种行为.deb我不太明白的包。

我的计算机中有一组“东西”,我使用.deb包裹。我在以用户“ borrajax”身份登录的本地计算机上工作。还有一个“borrajax在我安装我的远程计算机上.deb。当我需要部署我的“东西”时,我创建一个.deb打包在我的机器上(使用sudo dpkg --build),将其复制到远程机器并使用 进行安装sudo dpkg -i myPackage.deb。当我这样做时,“扩展”(或安装)的文件将归本地用户所有borrajax,这很好。

现在,我有一个同事也尝试做同样的事情,但他以不同的本地用户名登录(他borrajax的计算机中没有用户,但是...... foobar- 我猜他的父母不喜欢他很多-)。他遵循的过程与我对本地用户执行的过程完全相同borrajax,但与他的本地foobar用户相同:在他的计算机中创建.deb,将其复制到远程计算机并使用dpkg -i.好吧...在这种情况下,已安装的文件将归 拥有root,这会阻止安装继续(这不是错误,而是一个功能)。

所有这些机器都是 Ubuntu(我的机器是 11.10,远程机器是 12.04,我同事的机器是 Ubuntu),所以我想要的是使用 uuid 1000 的任何用户安装该软件包。我希望名称不会那么相关(可能是只是巧合,borrajax我的机器和远程机器上都有一个用户)。

所以在这种情况下,用户名似乎非常相关。这是为什么?正如我之前提到的,我的本地用户borrajax、我的同事foobarborrajax远程计算机中的用户都是 uid=1000。为什么用户的名字(看起来)如此重要?我的本地borrajax用户可能根本看不到borrajax远程计算机中的任何内容。如果该包是由 uid 1000 的用户创建的,为什么“有时”(如果我创建了它)它会与远程计算机中具有 uid 1000 的任何用户一起安装,而“有时”它会与 root 一起安装(如果我的同事已创建它)?

我总是可以在 postint 脚本中使用更改已安装文件的所有者chown 1000,或者使用其他类型的解决方法,但我想首先了解为什么会发生这种情况,以及为什么两台不同计算机中的用户名看起来如此重要?

先感谢您

相关内容