这是我的实际问题。在这个问题上,Rinzwind 先生给了我指导。我按照指导做了以下事情。
- 创建专用用户和组。
$ sudo groupadd apache $ sudo useradd apache -g apache -d /dev/null/ -s /sbin/nologin
- 修改后的 Apache 配置如下。
$ sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak $ sudo nano /etc/apache2/apache2.conf 用户 apache Apache 组 $ sudo /etc/init.d/apache2 重新启动
- 使“数据”归“CGI 应用程序用户”所有,并将其设置为目录的“700”和文件的“600”。
$ sudo 添加用户服务器数据 $ sudo usermod -a -G apache 服务器数据 $ sudo chown -R 服务器数据:apache /var/myproj/data/ $ sudo find /var/myproj/data/-type d-exec chmod 700 {} \; $ sudo find /var/myproj/data/-type f-exec chmod 600 {} \;
- 为组添加了“www”所有权。
$ sudo chown -R apache:apache /var/myproj/www/ $ sudo chmod -R 775 /var/myproj/www/
此后,我编写了一个cgi
调用来将文件从/var/myproj/data/
复制到/var/myproj/www/
。但是它不起作用。
我在这个设置中遗漏了什么?为什么它无法将该文件从我的Data
目录复制到www
同一组中的目录apache
。
Test.cgi
位于/usr/lib/cgi-bin/
仅读取此文件“ /var/myproj/data/test.html
”并复制到“ /var/myproj/www/
”中。但是这Test.cgi
不会从“ /var/myproj/data/
”位置读取任何内容。