我在服务器上全局安装了composer。
我在这台服务器上有几个不同的域/帐户。作为root用户,我可以ssh到服务器上,也可以使用composer来更新包。
然而,每个包都有root:root的所有者和用户。当我以帐户所有者的身份登录时,如果我需要更改包内的内容,我没有足够的权限访问任何包。
除了在每个帐户级别上设置ssh之外,还有什么方法可以运行composer更新并将用户/所有者设置为帐户持有者吗?
非常感谢。
我想说,如果你需要成为root用户来部署软件,那么你就做错了。
Composer不是部署工具,它是一个依赖关系管理器。它就是这样做的:它将下载所需的软件包,并将它们解压缩到文件系统中——作为运行安装命令的用户帐户。
如果你想改变这一点,你有几个选择,其中包括:
su
sudo
- 在目录上设置组id标志(
chmod g+s
) - 收集服务器外部的文件,并作为正确的用户通过SCP/SFTP/FTPS将其放置到位
- 不作为该用户更改依赖项的代码,只更改配置文件
- 。。。等等