これを行うことのセキュリティへの影響については忘れて、ビジネスに取り掛かります。
ls -l /var/www と ls -l /root を実行した場合、両方のパーミッションが異なることに気付くでしょう。
$ ls -l /root/cr.txt total 2 -rw-r----- 1 root root 0 Jul 9 01:28 cr.txt $ ls -l /var/www total 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 アパッチ
ここで、www-data ユーザーで実行されている apache にファイルを読み取らせようとしています。次の 3 つのアクションを実行できます。
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
リスクを理解していない場合は、これを行うべきではありません。