我有一个由 apache 调用的 bash cgi 脚本,该脚本应该将 /var/www/html 中的一个文件移动到同一目录中的另一个文件。我已使用 selinux 设置了相关权限(例如,将 chcon 设置为 httpd_sys_content_t),并且已更改了文件/目录的读/写权限,但它仍然在 httpd 错误日志中返回以下内容:
mv: cannot move /var/www/html/file.txt to /var/www/html/file2.text: Permission denied
有什么想法吗?审计日志中也没有任何相关内容...
编辑:
ls -l on /var/www/html/ 显示
-rwxrwxrwx. 1 apache apache 157 May 16 15:50 file.txt
ls -l on /var/www/ 显示
drwxr-xr-x. 9 root root 4096 May 17 12:28 html
答案1
/var/www/html 的文件权限不允许 apache 用户操作包含该文件的目录。您需要允许 apache 对 /var/www/html 目录具有写访问权限。