从根目录使用composer时设置包的所有者/用户



我在服务器上全局安装了composer。

我在这台服务器上有几个不同的域/帐户。作为root用户,我可以ssh到服务器上,也可以使用composer来更新包。

然而,每个包都有root:root的所有者和用户。当我以帐户所有者的身份登录时,如果我需要更改包内的内容,我没有足够的权限访问任何包。

除了在每个帐户级别上设置ssh之外,还有什么方法可以运行composer更新并将用户/所有者设置为帐户持有者吗?

非常感谢。

我想说,如果你需要成为root用户来部署软件,那么你就做错了。

Composer不是部署工具,它是一个依赖关系管理器。它就是这样做的:它将下载所需的软件包,并将它们解压缩到文件系统中——作为运行安装命令的用户帐户。

如果你想改变这一点,你有几个选择,其中包括:

  • su
  • sudo
  • 在目录上设置组id标志(chmod g+s
  • 收集服务器外部的文件,并作为正确的用户通过SCP/SFTP/FTPS将其放置到位
  • 不作为该用户更改依赖项的代码,只更改配置文件
  • 。。。等等

相关内容

最新更新