授予权限更改权限

授予权限更改权限

我正在运行一个脚本来在服务器上部署网站。它给了我以下错误:

DEBUG [4223cc8a] Command: /usr/bin/env chmod +x /tmp/mysite_staging/git-ssh.sh
DEBUG [4223cc8a] changing permissions of `/tmp/mysite_staging/git-ssh.sh'
DEBUG [4223cc8a] : Operation not permitted

它抱怨部署用户无法更改该文件的权限。我已经设置了它,以便部署用户可以读取、写入、执行该文件,因为该用户位于部署组中:

$ ls -l
total 4
-rwxrwx--x. 1 root deploy 93 Aug  5 09:22 git-ssh.sh

那么如何让部署用户改变这个文件的权限呢?这是在 CentOS 上。我的临时解决方案是让部署用户成为文件的所有者。

答案1

只有文件的所有者或 root 用户才能更改文件的权限。您需要更改文件的所有权,使其归用户所有deploy,或者以 root 身份运行脚本。

答案2

让 Cap 将它们放在非全局 tmp 位置会更安全,而不是对 Capistrano 上传的 shell 脚本进行 chmod。例如:

set :tmp_dir, "/home/deploy/tmp"

相关内容