X-Git-Url: https://git.proxmox.com/?p=pve-access-control.git;a=blobdiff_plain;f=PVE%2FAPI2%2FUser.pm;fp=PVE%2FAPI2%2FUser.pm;h=f282a1c1793d4a6a30466ec9be81b9f5a2592a17;hp=210a0b21b623c0b482f608cdf250fb780ce6dd4a;hb=2dd1e1d41e7acccb2ae010030ad50afebf9b0f3e;hpb=eb41d2005159da16a8b9f50a5f972fdb029ee09e diff --git a/PVE/API2/User.pm b/PVE/API2/User.pm index 210a0b2..f282a1c 100644 --- a/PVE/API2/User.pm +++ b/PVE/API2/User.pm @@ -229,41 +229,39 @@ __PACKAGE__->register_method ({ code => sub { my ($param) = @_; - PVE::AccessControl::lock_user_config( - sub { + PVE::AccessControl::lock_user_config(sub { + my ($username, $ruid, $realm) = PVE::AccessControl::verify_username($param->{userid}); - my ($username, $ruid, $realm) = PVE::AccessControl::verify_username($param->{userid}); - - my $usercfg = cfs_read_file("user.cfg"); + my $usercfg = cfs_read_file("user.cfg"); - die "user '$username' already exists\n" - if $usercfg->{users}->{$username}; + die "user '$username' already exists\n" + if $usercfg->{users}->{$username}; - PVE::AccessControl::domain_set_password($realm, $ruid, $param->{password}) - if defined($param->{password}); + PVE::AccessControl::domain_set_password($realm, $ruid, $param->{password}) + if defined($param->{password}); - my $enable = defined($param->{enable}) ? $param->{enable} : 1; - $usercfg->{users}->{$username} = { enable => $enable }; - $usercfg->{users}->{$username}->{expire} = $param->{expire} if $param->{expire}; + my $enable = defined($param->{enable}) ? $param->{enable} : 1; + $usercfg->{users}->{$username} = { enable => $enable }; + $usercfg->{users}->{$username}->{expire} = $param->{expire} if $param->{expire}; - if ($param->{groups}) { - foreach my $group (split_list($param->{groups})) { - if ($usercfg->{groups}->{$group}) { - PVE::AccessControl::add_user_group($username, $usercfg, $group); - } else { - die "no such group '$group'\n"; - } + if ($param->{groups}) { + foreach my $group (split_list($param->{groups})) { + if ($usercfg->{groups}->{$group}) { + PVE::AccessControl::add_user_group($username, $usercfg, $group); + } else { + die "no such group '$group'\n"; } } + } - $usercfg->{users}->{$username}->{firstname} = $param->{firstname} if $param->{firstname}; - $usercfg->{users}->{$username}->{lastname} = $param->{lastname} if $param->{lastname}; - $usercfg->{users}->{$username}->{email} = $param->{email} if $param->{email}; - $usercfg->{users}->{$username}->{comment} = $param->{comment} if $param->{comment}; - $usercfg->{users}->{$username}->{keys} = $param->{keys} if $param->{keys}; + $usercfg->{users}->{$username}->{firstname} = $param->{firstname} if $param->{firstname}; + $usercfg->{users}->{$username}->{lastname} = $param->{lastname} if $param->{lastname}; + $usercfg->{users}->{$username}->{email} = $param->{email} if $param->{email}; + $usercfg->{users}->{$username}->{comment} = $param->{comment} if $param->{comment}; + $usercfg->{users}->{$username}->{keys} = $param->{keys} if $param->{keys}; - cfs_write_file("user.cfg", $usercfg); - }, "create user failed"); + cfs_write_file("user.cfg", $usercfg); + }, "create user failed"); return undef; }});