[pmg-devel] [PATCH pmg-api v8 7/13] api: users: create user with a specified realm

Mira Limbeck m.limbeck at proxmox.com
Wed Feb 26 17:29:24 CET 2025


On 2/26/25 16:36, Mira Limbeck wrote:
> On 2/26/25 15:07, Markus Frank wrote:
>> Signed-off-by: Markus Frank <m.frank at proxmox.com>
>> ---
>> v8: fixed "Use of uninitialized value in string" when realm is not set
>>  at user creation
>>
>>  src/PMG/API2/Users.pm | 3 +++
>>  src/PMG/UserConfig.pm | 1 -
>>  2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/PMG/API2/Users.pm b/src/PMG/API2/Users.pm
>> index 42c82b7..f137b87 100644
>> --- a/src/PMG/API2/Users.pm
>> +++ b/src/PMG/API2/Users.pm
>> @@ -111,6 +111,9 @@ __PACKAGE__->register_method ({
>>  	    die "User '$param->{userid}' already exists\n"
>>  		if $cfg->{$param->{userid}};
>>  
>> +	    die "Currently you cannot create user in the PAM realm\n"
>> +		if $param->{realm} && $param->{realm} eq 'pam';
>> +
> the warning no longer shows, but you can still create a user for `pam`
> by just specifying the userid:
> ```
> pmg:/access/users> create --role audit --userid test123 at pam
> 200 OK
> ```
api2/json/access/users returns the `realm` as a separate field. it is
extracted by splitting the userid on the first '@'. see
PMG/UserConfig.pm -> read_user_conf

maybe we could use this here as well via a helper sub in UserConfig.pm?

> 
> 
> 
>>  	    my $entry = {};
>>  	    foreach my $k (keys %$param) {
>>  		my $v = $param->{$k};
>> diff --git a/src/PMG/UserConfig.pm b/src/PMG/UserConfig.pm
>> index fe6d2c8..9a6f142 100644
>> --- a/src/PMG/UserConfig.pm
>> +++ b/src/PMG/UserConfig.pm
>> @@ -141,7 +141,6 @@ my $schema = {
>>  
>>  our $create_schema = clone($schema);
>>  delete $create_schema->{properties}->{username};
>> -delete $create_schema->{properties}->{realm};
>>  $create_schema->{properties}->{password} = {
>>      description => "Password",
>>      type => 'string',
> 
> 
> 
> _______________________________________________
> pmg-devel mailing list
> pmg-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel
> 
> 





More information about the pmg-devel mailing list