Я не забуду о последствиях безопасности делать это и будет идти вниз к биз Несс:
Если вы сделали Ls -l/вар/WWW и LS -l/корень вы бы заметили, что оба имеют различные разрешения:
$ Ls -l /root/cr.txt всего 2 - rw-r ----- 1 корень root 0 июл 9 01:28 cr.txt $ ls -l/var/www total 2 -rw-r-r-- 1 www-data www-data 0 июл 9 01 : 28 somefile
/root доступен только для root, а/var/www читается пользователем www-data. Теперь, если вы проверите процесс apache, вы заметите, что он работает с использованием пользователя www-data.
$ ps aux | grep apache www-data 5133 0.0 0.2 6512 1208? R + 10:04 0:00 apache
Теперь вы пытаетесь заставить apache работать с пользователем www-data, читающим файл. Вы можете выполнить три курса:
1. Передвиньте файл в/var/www и измените его разрешения, чтобы пользователи www-данных могли его прочитать.
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-данные в корневой группе или изменить владельца файла, так что может быть прочитан пользователями WWW-данных:
chown :www-data /root/cr.txt
## Or
sudo adduser www-data root
Это не должно быть сделано, если вы не понимаете, риски!
Права доступа к файлу. '/ root /' доступен только пользователю root сервера. – ciruvan
Попробуйте изменить группу файла file.txt как apache «chown root: apache file.txt», а затем предоставить разрешение на чтение для группировки. "chmod g + rw file.txt". Теперь попробуйте снова с вашего конца. Сообщите мне, помогло ли это вам. –