У должностного лица PHP () есть ошибка разрешения записи несмотря на полномочие записи

Я работаю 7.0.28-0ubuntu0.16.04.1, под ЛАМПОЙ, на двух Ubuntu 16.04. Код C, для открытия файла для записи:

 #define ERROR_OPENING_FILE -4

 fprintf(stderr, "Open output file: /var/www/dropbox/candidates_results.lst.");
 if (!(fpOutputFile=fopen("/var/www/dropbox/candidates_results.lst", "w"))){
       perror("Error opening output file: ");
       throw ERROR_OPENING_FILE;
 }

Я называю исполняемый файл, от PHP, со следующим.

    $program="/var/www/executables/programName ";
    $inFile="/var/www/dropbox/candidates.lst";
    $str=$program . " -i " . $inFile;
    $Result=exec($str, $output, $return);

После обновления веб-страницы я перехожу к Linux, окружают и входят

cat /var/log/apache2/error.log

Это возвращается

Open output file: /var/www/dropbox/candidates_results.lst.
Error opening output file: : Permission denied
terminate called after throwing an instance of 'int'
Aborted (core dumped)

Когда я вхожу

ls -l /var/www/dropbox/candidates_results.lst

Я добираюсь

-rw-rw-r-- 1 ubuntu www 107 May 20 11:40 /var/www/dropbox/candidates_results.lst   

Проблема уходит, если я вхожу

sudo chmod o+w /var/www/dropbox/candidates_results.lst

таким образом, длинный список становится

-rw-rw-rw- 1 ubuntu www 107 May 20 11:40 /var/www/dropbox/candidates_results.lst

Однако www-данные являются членом www группы

 $ grep '^www' /etc/group
 www-data:x:33:
 www:x:1001:ubuntu

Таким образом, кажется, что www-данные должны иметь полномочия группы. Я не вижу, почему я получаю ошибку разрешения записи после ввода

sudo chmod o-w /var/www/dropbox/candidates_results.lst
1
задан 20 May 2018 в 15:33

1 ответ

$ grep '^www' /etc/group
  www-data:x:33:
  www:x:1001:ubuntu

Это ясно показывает это www-data не член www группы. Только ubuntu член www группа.

Выполненный

sudo usermod -a -G www www-data

добавить www-data кому: www- группа и перезапуск веб-сервер.

3
ответ дан 7 December 2019 в 12:29

Другие вопросы по тегам:

Похожие вопросы: