Почему не создается пользователь системы?

Здравствуйте! Подскажите, почему может не создаваться пользователь системы?
Вот функция
protected function create(array $data)
    {
//создаем пользователя в базе данных
        $user= User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'role'=>'customer',
        ]);

//получаем его ID
        $id = $user->id;
        $pass = $data['password'];
//создаем пользователя в Linux
        shell_exec("useradd -d /home/u$id/ u$id");
        shell_exec("echo u$id:$pass | chpasswd");
//возвратить экземпляр класса User
      return $user;
    }

Проблема в том, что пользователь системы Linux почему-то не создается. Для пользователя, от которого работает веб-приложение в /etc/sudoers написал:
user ALL=(ALL) NOPASSWD:ALL
(к сожалению не знаю, как дать доступ только к отдельным командам).
  • Вопрос задан
  • 378 просмотров
Решения вопроса 1
nazarpc
@nazarpc
Open Source enthusiast
shell_exec возвращает вывод запущенной команды как результат работы функции.
Для начала сделайте var_dump(shell_exec()) и посмотрите в чём дело, на что ругается команда (если ругается).
А вообще я бы рекомендовал exec() и проверять код статуса результата работы команды, ибо вторую команду не нужно же выполнять если первая завалилась с ошибкой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽