我会忘记这样做的安全隐患,并将开始做生意:
如果你已经完成了 ls -l /var/www 和 ls -l /root 你会注意到两者都有不同的权限:
$ ls -l /root/cr.txt 总计 2 -rw-r----- 1 root root 0 Jul 9 01:28 cr.txt $ ls -l /var/www 总计 2 -rw-r--r -- 1 www-data www-data 0 Jul 9 01:28 somefile
/root 仅对 root 用户可读,而 /var/www 对 www-data 用户可读。现在,如果您检查 apache 进程,您会注意到它正在使用 www-data 用户运行。
$ ps辅助| grep apache www-data 5133 0.0 0.2 6512 1208 ?R+ 10:04 0:00 阿帕奇
现在,您正试图让 apache 与 www-data 用户一起运行读取文件。您可以采取三种行动:
1.将文件移动到 /var/www 并更改它的权限,以便 www-data 用户可以读取它。
mv /root/cr.txt /var/www/
chown www-data:www-data /var/www/cr.txt
2.这是最好的方法。
Create a symlink to the file in the /var/www directory:
ln /root/cr.txt /var/www/
3.在某些情况下,这并不能确保您的文件正在被读取。
这是危险的,不应该这样做!将 www-data 用户添加到根组,或更改文件所有权,以便 www-data 用户可以读取:
chown :www-data /root/cr.txt
## Or
sudo adduser www-data root
如果您不了解风险,则不应这样做!