На днях я только что получил сервер VPS, я новичок в администрировании серверов, но не новичок в Ubuntu (11.04). Я использую его в своей гостиной как HTPC, и у меня был предыдущий VPS, который я использовал для командного сервера. Этот я настраиваю для длительного использования. Поэтому я хотел бы узнать о лучших практиках, когда речь идет о веб-сайтах и задачах, которые у меня есть на сервере. Я понимаю, что было бы полезно разделить каждый веб-сайт на отдельную группу пользователей или под собственным именем пользователя. Я бы настроил nginx так, чтобы он мог читать всех директоров пользователей (и, следовательно, каждый веб-сайт), но не мог ничего трогать. То же самое с TeamSpeak, должен ли я сделать пользователя TeamSpeak, чтобы он работал в пределах своей собственной ограниченной области, или это излишнее?
У меня есть доступ к root на сервере, и мой текущий план состоит в том, чтобы запустить около 4 веб-сайтов и сервер TeamSpeak. Мой стек - это Linux (Ubuntu 11.04 LTS), nginx и PHP 5.4.3 (с использованием встроенного драйвера PDO SQLite 3 для базы данных). Должен ли PHP иметь собственную группу пользователей или можно разместить ее вместе с nginx?
Лучшие практики для таких сервисов, как teampeak, - запускать их от имени отдельного пользователя, предпочтительно в тюрьме - руководство по настройке джейлов можно найти на https://help.ubuntu.com/community/BasicChroot
Это сделано, чтобы ограничить ущерб, который может нанести эксплойт в программном обеспечении - мы надеемся, что он ограничится испорчением файлов teampeak, но не остальной части сервера.
Php и веб-сервер часто могут использовать одного пользователя, поскольку им нужен доступ к одним и тем же файлам.
Ни одна сетевая служба не должна запускаться от имени пользователя root, если этого можно избежать, поскольку эксплойт в этой службе может позволить злоумышленнику получить те же разрешения, что и пользователь, который ее запускает. Некоторому программному обеспечению для запуска требуются права root, но после запуска их можно настроить так, чтобы их не было.