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;
}user ALL=(ALL) NOPASSWD:ALL
var_dump(shell_exec()) и посмотрите в чём дело, на что ругается команда (если ругается).exec() и проверять код статуса результата работы команды, ибо вторую команду не нужно же выполнять если первая завалилась с ошибкой.
$pass = $data['password'];
$output1 = '';
$output2 = '';
$code1 = 0;
$code2 = 0;
$cruser= exec("sudo useradd -d /home/u$id/ u$id" , $output1,$code1);
if ($code1>0) {
file_put_contents("/myapp/logs/users.log" , "Create successful" , FILE_APPEND);
}
else {
file_put_contents("/myapp/logs/users.log" , "Create error occured",FILE_APPEND);
}
$chpass = exec("sudo echo u$id:$pass | chpasswd" , $output2,$code2);
if ($code2>0) {
file_put_contents("/myapp/logs/users.log" , "Chpass successful" , FILE_APPEND);
}
else {
file_put_contents("/myapp/logs/users.log" , "Chpass error occured" , FILE_APPEND);
}Create error occured
Chpass successful man usedadd в конце содержит список кодов и что они значат.
$output1 = '';
$output2 = '';
$code1 = 0;
$code2 = 0;
$cruser= exec("sudo useradd -d /home/u$id/ u$id" , $output1,$code1);
if ($code1>0) {
file_put_contents("/myapp/logs/users.log" , "Create successful" , FILE_APPEND);
}
else {
file_put_contents("/myapp/logs/users.log" , "Create error occured. Code $code1",FILE_APPEND);
}
$chpass = exec("sudo echo u$id:$pass | chpasswd" , $output2,$code2);
if ($code2>0) {
file_put_contents("/myapp/logs/users.log" , "Chpass successful" , FILE_APPEND);
}
else {
file_put_contents("/myapp/logs/users.log" , "Chpass error occured. Code $code2" , FILE_APPEND);
}Code 0
Chpass successfulEXIT VALUES
The useradd command exits with the following values:
0
success $code1 не должен быть 0.
if ($code1>0) {
file_put_contents("/myapp/logs/users.log" , "Create error occured. Code $code1",FILE_APPEND);
}
else {
file_put_contents("/myapp/logs/users.log" , "Create successful" , FILE_APPEND);
}
adduser