Хорошо, все мои файлы и папки установлены как владелец vsftpd: nogroup. Программа FTP может загружать и создавать и делать все, что угодно Но когда я использую команду PHP mkdir, я получаю сообщение Permission Denied, даже если папка, в которой он создается, установлена на chmod 777. ЕСЛИ я установил базовую папку на пользовательские www-data и группу www-data, PHP mkdir будет работать. Однако я не могу использовать FTP для удаления или загрузки в эту папку.
/ uploads - это базовая папка.
Я использую PHP mkdir для создания там каталога:
if (!is_dir($_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $_REQUEST['clientID'] . '/video/')) {
@mkdir($_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $_REQUEST['clientID'] . '/video/', 0777);
}
Если / uploads vsftpd: nogroup, тогда PHP mkdir выдаст ошибку Permission Denied.
Если / uploads это www-data: www-data, тогда PHP mkdir БУДЕТ работать, но я не могу продолжать FTP-соединение в той папке, которая была только что создана.
Если / uploads vsftpd: www-data, тогда PHP mkdir выдаст ошибку Permission Denied.
Как я могу создать каталог с PHP и по-прежнему иметь к нему доступ через FTP?
Это должно добавить вашего пользователя в группу www-data. Пока файлы, созданные с помощью www-data, созданы с помощью групповой записи, вы должны иметь возможность изменять или удалять их.
sudo adduser vsftpd www-данные