我正在使用Ansible进行部署,在任务中我会检查文件夹是否存在,例如日志,资产等,并给予他们755的许可
- name: Ensure source, static, media and logs directories exist
file: dest={{ item }} mode=755 owner={{ app_user }} group={{ app_group }} state=directory
with_items:
- "{{ static_dir }}"
- "{{ media_dir }}"
- "{{ logs_dir }}"
我正在使用app_user和apache组运行应用程序,因此我的所有文件和目录都具有app_user:apache
权限。
根据上述权限,我无法将文件上传到媒体目录,但是当我向媒体目录上传{/ 1}}权限时,会发生上传但是当媒体获取时,ansible停止工作chown -R g+w media
允许。
如何解决此问题,我对媒体文件夹有什么权限?
我的django项目位于apache:apache
,媒体位于/var/www/www.example.com/
www.example.com文件夹中有app_user:apache chown。
答案 0 :(得分:1)
Ansible文件模块需要提供给mode
参数的完整八进制数,而不是我们习惯使用chmod
命令的速记3位数。
如http://docs.ansible.com/ansible/file_module.html所述,"离开前导零可能会产生意外结果。"。
尝试:
file: dest={{ item }} mode=0755 owner={{ app_user }} group={{ app_group }} state=directory
希望有所帮助。