[PVE-User] UIDs > 65535 not valid in container

Frank Thommen f.thommen at dkfz-heidelberg.de
Thu Mar 12 19:55:25 CET 2020



On 3/12/20 6:10 PM, Daniel Berteaud wrote:
> 
> 
> ----- Le 12 Mar 20, à 16:35, Frank Thommen f.thommen at dkfz-heidelberg.de a écrit :
> 
>> Dear all,
>>
>> we have a strange issue with a CentOS 7 container running on PVE 6.1-3,
>> that UIDs > 65535 are invalid.  The container is used as a "SSH
>> jumphost" to access a special network: Users log in to the host and SSH
>> to the special network from there. sssd is running in the container. The
>> directory service is an Active Directory.
>>
>> However users with UID > 65535 cannot login:
>>
>> /var/log/secure:
>> [...]
>> Mar 12 13:48:32 XXXXXX sshd[1021]: fatal: seteuid 86544: Invalid argument
>> [...]
>>
>>
>> and chown isn't possible either:
>>
>> $ chown 65535 /home/test
>> $ chown 65536 /home/test
>> chown: changing ownership of ‘/home/test’: Invalid argument
>> $
>>
>>
>> There are no problems with such UIDs on any other systems and there is
>> no problem with users with an UID <= 65535 within the container.  I fear
>> this might be a container-related issue but I don't understand it and I
>> don't know if there is a solution or a workaround.
>>
>> Any help or hint is highly appreciated
> 
> You can work with higher UID in LXC with this :
> 
>    * Edit /etc/subuid and change the range. Eg
> 
> root:100000:4000390000
> 
>    * Do the same for /etc/subgid
>    * Edit your container config (/etc/pve/lxc/XXX.conf) and add
> 
> lxc.idmap: u 0 100000 2000200000
> lxc.idmap: g 0 100000 2000200000
> 
> That's the values I'm using for some AD members containers. Note however that native PVE restore code might refuse to work with those UID (I recall the 65535 max UID hardcoded somewhere in the restore path, but can't remember exactly where)

Unfortunately that doesn't work.  The container will not start any more 
with the following messages in the debug log (shortened):

------------------------------------------------
[...]
lxc-start 101 20200312185335.631 INFO     conf - 
conf.c:run_script_argv:372 - Executing script 
"/usr/share/lxc/hooks/lxc-pve-prestart-hook" for container "101", config 
section "lxc"
lxc-start 101 20200312185336.964 DEBUG    conf - conf.c:run_buffer:340 - 
Script exec /usr/share/lxc/hooks/lxc-pve-prestart-hook 101 lxc pre-start 
produced output: unable to detect OS distribution

lxc-start: 101: conf.c: run_buffer: 352 Script exited with status 2
lxc-start: 101: start.c: lxc_init: 897 Failed to run lxc.hook.pre-start 
for container "101"
lxc-start: 101: start.c: __lxc_start: 2032 Failed to initialize 
container "101"
Segmentation fault
------------------------------------------------

Frank



More information about the pve-user mailing list