我编写了一个函数,根据来自Web的用户输入准备数据,并将结果作为csv
复制到指定目录,包中(每个请求将包含来自3个不同表的信息) / csv文件)将供用户下载。
如果输出目录位于pg_data
目录/var/lib/pgsql/data/adc_downloads
中,则函数本身有效,权限为:
drwxr-xr-x 2 postgres postgres 4096 Dec 5 15:18 adc_downloads
但理想情况下,我希望输出目录位于此处:/var/www/vhosts/[vhostname]/httpdocs/adc_downloads
。在pg_data
中使用它之后,我使用chown -R --reference=/var/lib/pgsql/data/adc_downloads /var/www/vhosts/[vhostname]/httpdocs/adc_downloads
和chmod
使用相同的参数来模仿看似有效的权限:
drwxr-xr-x 2 postgres postgres 4096 Dec 5 14:19 adc_downloads
但是在尝试使用预期的输出目录运行该函数时,我仍然遇到Permission denied
错误。
其他一些必须覆盖我(试图?)设置的权限,任何想法可能是什么?鉴于函数本身在一个目录中工作但不在另一个目录中,我不认为它是SELinux issue,尽管我当然可能是错误的。
版本信息:Postgres 8.4
CentOS 6.5
使用Plesk
构建。
答案 0 :(得分:0)
通过为/var/www/vhosts/[vhostname]/httpdocs/adc_downloads
用户(包括other
用户)添加执行权限,在预定位置postgres
中使用此功能(感谢@ joop' s推荐) [vhostname]
和httpdocs
目录