Можно установить umask для FTP-сервера так, чтобы файлы были созданы так, чтобы только соответствующий пользователь и группа видели или сделали что-либо в файлы. Затем удостоверьтесь, что у каждого пользователя есть отдельное имя пользователя и группа. (Это будет препятствовать тому, чтобы любой читал или изменил содержание других, даже в рамках того же каталога),
Затем как администратор можно сделать себя членом всех их групп.
Мое предложение было бы то, что Вы как доступ администратора содержание через NFS или Samba - или даже sftp, не FTP. Пароли FTP представляются ясное, и если это - общедоступный сервер, может быть легко сниффинговым. У нас есть установка, где наш общедоступный FTP-сервер монтируется как Сетевой диск на компьютерах на нашем домене и управляется через учетные данные Active Directory.
Решение состояло в том, чтобы добавить строку к vhost конфигурационному файлу, которые устанавливают определенное значение PHP, которого я потребовал. Так вместо того, чтобы установить путь к php_error.log
в пользовательском файле PHP.INI для каждого сайта я изменил vhosts файл конфигурации для каждого сайта как требуется.
Таким образом, мой vhost файл конфигурации теперь читает таким образом …
<VirtualHost 123.54.67.89:80>
ServerAdmin me@my-domain.com
ServerName my-domain.com
ServerAlias www.my-domain.com
DocumentRoot /srv/www/my-domain.com/www/
ErrorLog /srv/www/my-domain.com/logs/error.log
CustomLog /srv/www/my-domain.com/logs/access.log combined
php_value error_log /srv/www/my-domain.com/logs/php_error.log
</VirtualHost>
Я нашел решение в другом месте на ServerFault.
Вы уже проверяли php-fpm с помощью apache mod_fastcgi? Это позволяет вам точно определять нужную конфигурацию через пулы, и вы даже можете chroot пользователей! ;)