NGINX, FastCGI PHP с FTP-доступом, как настроить пользователей / разрешения?

Недавно я играл с Ubuntu, NGINX, PHP и т. Д.

Я хочу иметь возможность настроить FTP и пользователей (пользователей) … проблема, с которой я сталкиваюсь, заключается в том, что FastCGI PHP работает под www-данными (пользователем), но при регистрации через FTP через общую учетную запись пользователя (farinspace). Файлы Написано с использованием farinspace как владельца / группы …

В настоящее время я использую vsftpd, но думаю, что pureftp лучше подгонит счет, чтобы автоматически устанавливать права доступа к файлам при загрузке.

Каков наилучший способ правильно настроить FTP, иметь несколько учетных записей пользователей FTP и правильно / безопасно устанавливать права доступа к файлам для пользователей, позволяя PHP иметь полный доступ для чтения / записи к файлам / каталогам, созданным пользователем FTP?

Прежде всего, настройте отдельные учетные записи Unix для каждого пользователя. Свяжите эти учетные записи с FTP-сервером. Хотя на самом деле вы должны использовать Secure FTP через SSH. С более новыми версиями OpenSSH вы можете настроить учетные записи только «SFTP-only», которые Chrooted в домашнем каталоге этого пользователя. Бам! Теперь у вас есть пользователи, которые безопасно регистрируются в своих собственных домашних каталогах без видимости всей файловой системы. Файлы записываются с использованием собственных прав пользователя / группы.

Затем вы можете настроить FastCGI для работы с отдельными разрешениями пользователей. Это выглядит сложным, но есть учебник, доступный здесь: Как настроить FastCGI с индивидуальными разрешениями

Вероятно, это лучший подход (хотя и самый сложный), если вы пытаетесь настроить общий хостинг для разных пользователей, особенно если они являются «ненадежными» пользователями. Таким образом, никто не сможет использовать PHP-скрипты, чтобы испортить файлы друг друга.

Если вы можете жить с тем, что пользователь может злонамеренно получить доступ к файлам другого пользователя, вы можете продолжать использовать FastCGI как www-данные. Затем, когда вы настраиваете домашний каталог каждого пользователя, создайте файлы, принадлежащие www-data GROUP. Затем установите бит переключателя в chmod (т.е. chmod 2770 вместо 770). Это заставит вновь созданные файлы наследовать владельца группы www-data и позволить FastCGI читать / записывать их.

Уф! Это было длинно. Дайте мне знать, как это получается, разместив здесь комментарий!

Я написал учебник, в котором объясняется, как я настраиваю отдельные учетные записи пользователей, которые запускают отдельные пулы процессов php с nginx и php-fpm здесь:

http://themesforge.com/performance/configuring-nginx-php5-fpm-and-user-permissions/

издание

  • Как заставить ssh войти в качестве нужного пользователя?
  • Как разрешить запуск скриптов VB на учетной записи администратора
  • Как добавить пользователей на FTP-сайт в IIS Windows 7?
  • «Запустить как» для .bat-файла
  • Может ли «переключить пользователя» в Windows 7 работать с Active Directory?
  • Как скопировать профиль пользователя при изменении доменов?
  • Как запустить Chrome с помощью указанного «профиля пользователя»?
  • Создание и управление приложениями Facebook из бизнес-аккаунта
  • Как узнать учетную запись пользователя SID для Windows?
  • Как вернуться к работе с ПК с Windows 7, у которого нет учетной записи администратора?
  • SSH ключ RSA с пользователем без root
  • Давайте будем гением компьютера.