suPHP является действительно Вашим лучшим выбором здесь. Вы установили бы каждого пользователя для запущения их скриптов как их собственный пользователь, затем chmod их каталоги так, чтобы другие пользователи не могли считать их. Не полагайтесь на open_basedir, он не собирается работать 100%.
Так как Вы позволяете загрузки, Вы всегда оказываетесь перед необходимостью волноваться о людях, загружающих вещи, они не были должны. Я предложил бы работать, что-то как Вредоносное программное обеспечение Linux Обнаруживает. Это предупреждает Вас, когда вещи как оболочки и сценарии DoS загружаются на Ваши серверы.
Я отвечаю здесь вместо комментариев, поэтому могу правильно отформатировать.
Поскольку у вас есть dovecot, у вас уже должна быть установлена lda (она находится в dovecot-core).
Добавьте это в /etc/postfix/master.cf:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
Добавьте это в /etc/postfix/main.cf:[12110estiveChange /etc/dovecot/conf.d/15-lda.conf:
protocol lda {
postmaster_address = postmaster@example.com
log_path = /var/log/dovecot-deliver
info_log_path = /var/log/dovecot-deliver
}
( хотя в значительной степени необязательно, что 3 строки между {})
postmaster_address
являются адресом отправителя для возвращенной почты
Изменить /etc/dovecot/conf.d/10-master.conf:[12114estiveAdd all пользователи из / etc / postfix / vmailbox в / etc / postfix / virtual следующим образом:
user1@myhost.com user1@myhost.com
user2@myhost.com user2@myhost.com
... etc
Переместите сводку в / etc / postfix / virtual:
@myhost.com andrews@myhost.com
Измените /etc/dovecot/conf.d/15-lda .conf:
lda_mailbox_autocreate = yes
Это автоматически создаст отсутствующие почтовые ящики.
Чтобы сохранить правила отмены, Добавить в main.cf:
mydestination=localhost.localdomain
Добавить в / etc / postfix / virtual:
info@myhost.com devnull@localhost.localdomain
sales@myhost.com devnull@localhost.localdomain
webmaster@myhost.com devnull@localhost.localdomain
Затем в / etc / aliases:
devnull: /dev/null
Эти строки из /etc/postfix/main.cf больше не нужны и могут быть удалены :
#virtual_mailbox_base = /var/mail/vhosts
#virtual_minimum_uid = 100
#virtual_uid_maps = static:5000
#virtual_gid_maps = static:5000
#transport_maps = hash:/etc/postfix/transport
Запустите
и позвольте надеяться, что это сработает.
Вы можете настроить Dovecot в качестве LDA в качестве временного решения вашей проблемы. Таким образом виртуальный
не будет пытаться доставлять почту локально, а вместо этого будет передавать ее в Dovecot.
Согласно документации dovecot, предпочтительный способ сделать это - через LMTP.
Виртуальные настройки, которые я Keep по-прежнему будет работать, но когда придет время действительно доставить почту в эти домены, он будет использовать то, что установлено в virtual_transport
, вместо прямой доставки почты.
Это рабочая конфигурация Debian Wheezy, в котором используется Dovecot 2.x.:
dovecot.conf:[12153 impressionmain.cf:[12154 impression