Назад | Перейти на главную страницу

Linux WebServer, папка с разрешением 755 недоступна для записи

Я запускаю новый веб-сервер Linux (Debian, Plesk). Я хочу установить какое-то приложение php, которому нужны записываемые папки. Если я установил разрешение папки на 755, веб-приложение не может писать в папку, оно просто принимает режим 777, как можно Я настраиваю сервер на прием 755 в качестве записываемой папки? Спасибо

РЕДАКТИРОВАТЬ: эта ветка поможет мне найти надстройку Plesk forum.parallels.com/showthread.php?t=106297

Веб-сервер будет работать под другой комбинацией пользователь / группа, чем ваш собственный. Поскольку 755 означает rwx для пользователя и r-x для группы и других (и в большинстве случаев сервер попадет в «другой»), имеет смысл, что он не может писать в папку. Если вам нужно, чтобы он писал туда, вы должны разрешить писать ему.

Также есть возможность использовать ACL (если соответствующая файловая система поддерживает его). Что-то вроде этого:

[dado@liliput tmp]$ mkdir test
[dado@liliput tmp]$ getfacl test
# file: test
# owner: dado
# group: dado
user::rwx
group::rwx
other::r-x

[dado@liliput tmp]$ setfacl -m g:apache:rwx test
[dado@liliput tmp]$ getfacl test
# file: test
# owner: dado
# group: dado
user::rwx
group::rwx
group:apache:rwx
mask::rwx
other::r-x
[dado@liliput tmp]$ ll -d test
drwxrwxr-x+ 2 dado dado 4096 Pro 10 17:48 test

Это предоставит доступ на запись группе apache, даже если она будет иметь его через разрешение «другие». Обратите внимание на знак + после разрешений, который означает, что ACL установлен.

Кроме того, если ваш хост работает с включенным SELinux (я не знаю, распространено ли это для Debian, это для клонов RHEL), вы можете получить проблемы с разрешением даже если это должно быть разрешено (это называется контекст файла)

Вам нужно указать каталог, в который вы хотите писать, пользователю, от имени которого работает веб-сервер. Введите «top» в командной строке и посмотрите, от имени какого пользователя запущен процесс веб-сервера. Затем в командной строке введите sudo chown. Это должно сделать каталог доступным для записи на ваш веб-сервер с разрешениями 755.

Похоже, что веб-сервер работает под www-данными пользователя по умолчанию, а владельцем ваших файлов является другой пользователь. Следовательно, веб-сервер не может писать. Если ваш веб-сервер - apache, есть несколько способов решить эту проблему: 1. Используйте apache2-mpm-itk, что позволяет установить разных пользователей для каждого виртуального хоста. 2. измените www-данные по умолчанию для вашего пользователя в файле / etc / apache2 / env и перезапустите apache. 3. используйте acl и позвольте www-данным записывать в ваши файлы.

И помните, что 777 - плохая идея для веб-сервера.