我正在使用 Capistrano(Railsless)来部署 PHP 项目。我正在通过普通用户帐户执行 SSH。我的问题是当我部署时我需要在文件夹(用户是一组)上运行 chown -R www-data:www-data
。
我还必须在同一个文件夹上调用 chmod g+w
。
我不想让这个用户成为管理员。 这可能吗?
我正在使用 Debian Wheezy
最佳答案
I am doing the SSH through a regular user account.
你不应该。这是一项安全政策。如果这样做,您将需要手动设置权限。默认情况下,并非机器上的每个普通用户都应该能够部署。
尝试使用作为所有者的用户部署文件/使用文件夹(大多数情况下是运行应用程序服务器的用户)。您用于部署代码的任何内容都需要使用该登录名,从 Maven 到简单的 scp。之后您不必更改权限。
其他选项是编写一个脚本,该脚本将从提升的用户执行。该脚本将检查某个目录中的文件更改。如果添加了新文件,它会将它们复制到部署目录,自动设置权限,然后将它们从“过渡”目录中删除。
关于Linux 普通用户 Chown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20260200/