У меня есть относительная папка files / crm-upload, куда я хочу загружать файлы.Мой код проверяет, является ли is_writable () истинным и продолжается только в этом случае.
Папка монтируется как общий ресурс NFS с rw и sec = sys.
Я написалТестовый скрипт, который я также выполняю на apache для просмотра прав доступа, имеет следующий результат:
files/crm-upload/php_touch modification time has been changed to present time
My effective UID is 33 but my UID is really 33
files/crm-upload/ is owned by 33 and has permissions 40777
is_readable('files/crm-upload/') gives true
is_readable('files/crm-upload/php_touch') gives true
is_writable('files/crm-upload/') gives false
is_writable('files/crm-upload/php_touch') gives true
is_writable('files/crm-upload/25/') gives true
is_writable('files/images/') gives true
file_exists('files/crm-upload/') gives true
file_exists('files/crm-upload/php_touch') gives true
Some stat uids:
files/crm-upload/: 33
files/crm-upload/php_touch: 33
files/images/: 33
Итак:
- касание файла в общей папке работает
- правильные идентификаторы
- dir имеет правильные разрешения
- is_writable для подпапок и файлов на общем ресурсе возвращает true
Как это может быть, что только корневая папкасмонтированный общий ресурс не доступен для записи, а все остальное есть?
Это Ubuntu 18.04.клиент, SELinux не работает ...