Я пытаюсь создать простую систему LAMP, помня о некоторых базовых принципах безопасности. Если я хочу создать MySQL для доступа PHP, под каким пользователем следует создавать базы данных? Будем очень благодарны за любые ссылки на передовой опыт.
Спасибо!
Предполагая, что вы запускаете весь стек, нет причин не запускать каждое приложение от имени отдельного пользователя. Вам нужно будет создать учетные записи как root или какой-либо другой привилегированный пользователь, но вы можете либо изменить имя пользователя root - см. шаг 4.5 здесь или создать нового пользователя с нужными разрешениями, но я никогда не видел, чтобы кто-то делал последнее.
Кроме того, вы также можете ограничить сервер mysql прослушиванием localhost на уровне брандмауэра, если вам нужно что-то сделать, вам придется использовать ssh, но это снижает вероятность компромисса.
Похоже, вы имеете в виду пользователей mysql, а не пользователей системы, но ваша ссылка на стек LAMP предлагает короткий комментарий к пользователю системы mysql ...
Обычно для развертывание производства, вы должны установить mysql, apache, PHP / Perl из пакетов распространения и, следовательно, вы должны запустить команду установки пакета, например. apt-get install mysql-server apache2 php
или yum install httpd mysql-server php53
как пользователь root или какой-либо пользователь с разрешениями sudo.
Установка обрабатывает настройку пользователей apache и mysql для работы этих служб. Вы могли заметить, что файлы в / var / lib / mysql принадлежат пользователю mysql, а процесс mysqld принадлежит mysql.
в mysql пользователю требуется "СОЗДАЙТЕ"право на создание новых баз данных, и по умолчанию оно назначается пользователю root.
Я обычно устанавливаю длинный (16 символов) пароль для root и сохраняю его в автономном файле, а также создаю второго пользователя «dba», который используется для повседневных операций. Каждая база данных имеет учетную запись пользователя только с разрешениями на запись, а пользователь root и dba ограничен только "localhost"