Почему перестали загружаться файлы в директорию с правами 755 на vps-хостинге?
Арендовал VPS с предустановленной centos. Зашел через root и создал нового пользователя username, от имени которого поднял сайт на wordpress. Работал несколько месяц без ошибок, но сегодня не смог загрузить файл на хостинг, хотя директория имела 755-права. Поднял права до 777 и файл успешно загрузился. Однако вместо 644 он получил 666-права, а в поле "владелец" и "группа" вместо имени моего пользователя "username" появилось имя системного пользователя "apache".
Что произошло? Почему я не могу как прежде загружать файлы с правами 755 для папок и 644 для файлов?
И почему при загрузке файлов в папку с правами 777 вместо имени моего пользователя теперь пишется "apache"?
andrcentos: Да какой толк от ваших иванов-петров, реальный юзернейм пишите. Только тогда можно будет сказать наверняка - это системный юзер (которых в системе хватает), или что-то подозрительное.
andrcentos: Это системный пользователь, под которым работает ваш веб-сервер. Все в порядке. Если бы вы загрузили файл по ФТП подключившись под своим юзернеймом (например, adncentos), был бы ваш пользователь владельцем файла. Поскольку файл загржен через веб, от имени php-скрипта медиа-библиотеки, то и владелец - тот, кто это сделал, а именно - веб-сервер. Он же - apache.
Игорь Воротнёв: А что произошло? Почему я не могу как прежде загружать файлы с правами 755 для папок и 644 для файлов? Вот уже несколько месяцев так работал - заходил в консоль wordpress и добавлял запись, и как это обычно бывает wordpress самостоятельно создает папки для изображений по дате их загрузки. Например, если загрузить сейчас изображение в медиа-библиотеку, то wordpress создаст папку 02 в директории 2016. А сейчас я не могу добавлять изображения через консоль и мне выдает ошибку с текстом: «Не могу создать директорию wp-content/uploads/2016/02. Проверьте, доступна ли родительская директория для записи.»
andrcentos: А вот это уже отдельный вопрос. Возможно, изменился umask. Обычно он на уровне системы один, выполните grep UMASK /etc/login.defs чтобы проверить системный. Но он может меняться для разных юзеров. Почитайте тут и проверьте у себя все www.cyberciti.biz/tips/understanding-linux-unix-um...
Игорь Воротнёв:
По вашей рекомендации выполнил: grep UMASK /etc/login.defs
Получил результат: 077
Прочитал указанную вами статью, а также ее разъяснение: handynotes.ru/2010/02/umask.html, но до сих пор не могу понять, куда почему вдруг изменился этот umask на хостинге. И как мне исправить настройки, что не лезть каждый раз в isp-manager и создать все папки вручную? В какую сторону копать, чтобы как и раньше легко и просто добавлять изображения на сайт через привычную консоль wordpress?
Андрей Ефимов: ну, на вопрос "почему вдруг" вам ответить могут только ваши лог-файлы или участники какой-нибудь битвы экстрасенсов :) Возможно, обновилась ваша панелька и теперь у нее такая маска по дефолту. Я в этом случае бессилен. Чтоб навести порядок, есть 3 момента - umask, chmod и chown. Синхронизируйте все в нужном виде - umask 022, chmod 755 для папок и chmod 644 для файлов, chown apache:apache для всего рекурсивно.