Автоматизация создания пользователей [закрыто]

У меня есть сайт для моих студентов, и он работает на Ubuntu 14.04. Когда мои студенты регистрируются на моем сайте, я сохраняю информацию о пользователе в базе данных MySQL.

Я хотел бы предоставить моим студентам веб-сайт с моей установкой Ubuntu при регистрации на моем сайте, и я хотел бы, чтобы это было автоматизировано. Мой вопрос: могу ли я каким-то образом использовать данные прямо из базы данных MySQL, чтобы предоставить им поддомен (username.mydoamin.com) на моем Ubuntu, или я могу выполнять команды оболочки на Ubuntu из PHP и автоматизировать то, что я делаю сейчас вручную?

2
задан 20 April 2015 в 12:38

2 ответа

я могу выполнить команды оболочки на Ubuntu от PHP и автоматизировать то, что я делаю вручную теперь?

можно выполнить команды оболочки из PHP использование shell_exec() функция или использование ` ` (обратная галочка) оператор: если Вы работаете PHP < 5.4.0, сначала удостоверьтесь, что отключили безопасный режим , затем в Вашем PHP сценарий, можно использовать любой из тех синтаксисов:

  • $return = shell_exec('<shell_command>');
  • $return = `<shell_command>`;

, Если Вы не хотите получить возвращаемые значения от единственных команд, самый простой способ сделать, что Вы просите, состоял бы в том, чтобы конденсировать все, что Вы делаете вручную в оболочке в автономное bash (или безотносительно) сценарий, который назовут однажды при помощи любого из тех методов. Например, синтаксис для bash сценарий был бы:

  • $return = shell_exec('bash script.sh');
  • $return = `bash script.sh`;

Для передачи параметров сценарию (например, значение $username переменная):

  • $return = shell_exec("bash script.sh '$username'");
  • $return = `bash script.sh '$username'`;

Для получения переданных параметров в bash сценарий (например, значение $username переменная передала с методом выше):

#!/bin/bash

# ...
username=$1
# ...

Или просто ссылка $1 при необходимости, например:

#!/bin/bash

# ...
echo "$1"
# ...
1
ответ дан 20 April 2015 в 12:38

Как следование моего собственного вопроса я уточню со своим опытом. Я заставил казнь Shell работать от PHP, но имел главные проблемы безопасности с решением. Это было ГЛАВНОЙ ошибкой от моей руки, что я не видел это вначале.

Для устранения угроз безопасности я сделал сценарий удара, который искал активированных пользователей в пользовательской таблице. Если бы пользователь был активен И не пользователь Linux затем, то пользователь должен быть создан на моем Linux, пользователь базы данных создается, субдомен создается, и ssh заблокирован для пользователя. Я настроил задание крона, работающее каждые 60 минут, и после пользовательского создания электронное письмо послано пользователю с информацией о регистрации

, Который устраняет много угроз безопасности (не все).

Bjarke

0
ответ дан 20 April 2015 в 22:38

Другие вопросы по тегам:

Похожие вопросы: