在各种情况下,我一直在与 umask/权限问题作斗争。我已将 www-data(由 nginx/php-fpm 运行)设置为在 /etc/init/php-fpm.conf 文件中具有 002 的 umask,并且我的部署用户在 /home/deployer/ 中也具有 002 的 umask .bashrc。应用程序文件都具有 0660 权限(目录为 0770),因此它们都可以读/写它们(部署者的主要组是 www-data)。但是,我一直遇到这个 umask 没有得到尊重的情况,并且文件设置为 644 或 640。
我目前的情况是使用 ansible 脚本以 root 身份进行 SSH 登录,选项如下:
sudo: yes
sudo_user: deployer
使用 ansible 创建的文件获得 644 的文件权限。如何查看 umask 设置的位置以及添加 umask 的位置?
其次,没有更好的部署方式吗?我想完全避免这个问题,并以 www-data 用户的身份完成所有部署工作,但显然这是一个安全问题。这个 umask 的东西真的很复杂的部署。
谢谢你。