This problem just bumped into my head so I did a little more investigation. The root cause is that bitbake-worker uses a new user namespace if possible. The commit in bitbake/poky repo is the following one. “”” bitbake: utils: Add disable_network function “”” The key codes are: libc.unshare(CLONE_NEWNET | CLONE_NEWUSER)
To make things work in your case, the simplest way is to set: do_install[network] = “1”, so that the above codes are not run for this task. Regards, Qi From: yocto@lists.yoctoproject.org <yocto@lists.yoctoproject.org> On Behalf Of Chen Qi via lists.yoctoproject.org Sent: Tuesday, April 4, 2023 6:02 PM To: Adrian Dudau <adrian.du...@keyfactor.com>; Bruce Ashfield <bruce.ashfi...@gmail.com> Cc: Khem Raj <raj.k...@gmail.com>; yocto@lists.yoctoproject.org Subject: Re: [yocto] error when try to use sudo command in recipe I haven’t done any further investigation, but I don’t think this problem is related to pseudo. On one hand, /usr directory is ignored as it’s in PSEUDO_IGNORE_PATHS; on the other hand, LD_PRELOAD does not have effect on setuid programs such as sudo. Unfortunately I don’t have any clue. Another trick Yocto does is uninative. Not sure if it’s related. Regards, Qi From: yocto@lists.yoctoproject.org<mailto:yocto@lists.yoctoproject.org> <yocto@lists.yoctoproject.org<mailto:yocto@lists.yoctoproject.org>> On Behalf Of Adrian Dudau Sent: Tuesday, April 4, 2023 4:00 PM To: Bruce Ashfield <bruce.ashfi...@gmail.com<mailto:bruce.ashfi...@gmail.com>> Cc: Khem Raj <raj.k...@gmail.com<mailto:raj.k...@gmail.com>>; yocto@lists.yoctoproject.org<mailto:yocto@lists.yoctoproject.org> Subject: Re: [yocto] error when try to use sudo command in recipe I sent an email to the meta-virtualization list describing what I'm trying to achieve and see if others have further ideas. However, I would still like to continue investigating this sudo bug as it is quite annoying. Even when running under pseudo, I don't see why the binary would show as not owned by the root user. Dropping down to the devshell, the binary seems to have the right owner: ls -l /usr/bin/sudo -rwsr-xr-x 1 root root 232416 Mar 1 13:59 /usr/bin/sudo So any other input to put me on the right tracks would be appreciated. --Adrian ________________________________ From: Bruce Ashfield <bruce.ashfi...@gmail.com<mailto:bruce.ashfi...@gmail.com>> Sent: Monday, April 3, 2023 5:59 PM To: Adrian Dudau <adrian.du...@keyfactor.com<mailto:adrian.du...@keyfactor.com>> Cc: Khem Raj <raj.k...@gmail.com<mailto:raj.k...@gmail.com>>; yocto@lists.yoctoproject.org<mailto:yocto@lists.yoctoproject.org> <yocto@lists.yoctoproject.org<mailto:yocto@lists.yoctoproject.org>> Subject: Re: [yocto] error when try to use sudo command in recipe You don't often get email from bruce.ashfi...@gmail.com<mailto:bruce.ashfi...@gmail.com>. Learn why this is important<https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!AjveYdw8EvQ!bCVRr1HPLpArLcLWGZ8guexuGI6P-mtViLkvOaqoTEec50HxhNr5MJU5YyEGoFz6H9KnzCOprmCRTwLuNYQfP_E0iZSbJQ$> CAUTION: External Sender - Be cautious when clicking links or opening attachments. Please email info...@keyfactor.com<mailto:info...@keyfactor.com> with any questions. On Mon, Apr 3, 2023 at 11:42 AM Adrian Dudau <adrian.du...@keyfactor.com<mailto:adrian.du...@keyfactor.com>> wrote: Hi Khem, Thanks for the reply, though I am not sure I fully understand the first part of your answer. I'm trying to do something similar to the thread creator, i.e running "podman pull" at build time to populate an image store that I can later install into the target rootfs. FWIW. The above is something that I have almost working, but had to drop the completion of the support for the upcoming release (it was too late, and I had to get some kernel changes done). I'm hoping to have something usable in the next few months. If you are trying to generate containers (I don't recommend pulling them) and installing them into a container store that is part of the rootfs, then collaborating on the meta-virtualization mailing list is a good starting point. Bruce Still, I am failing to understand why /usr/bin/sudo doesn't show up as owned by the root user, even when running under pseudo. Also, why has this changed between Dunfell and master and where exactly has the changed happened.. Best regards, --Adrian ________________________________ From: Khem Raj <raj.k...@gmail.com<mailto:raj.k...@gmail.com>> Sent: Monday, April 3, 2023 4:57 PM To: Adrian Dudau <adrian.du...@keyfactor.com<mailto:adrian.du...@keyfactor.com>> Cc: yocto@lists.yoctoproject.org<mailto:yocto@lists.yoctoproject.org> <yocto@lists.yoctoproject.org<mailto:yocto@lists.yoctoproject.org>> Subject: Re: [yocto] error when try to use sudo command in recipe You don't often get email from raj.k...@gmail.com<mailto:raj.k...@gmail.com>. Learn why this is important<https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!AjveYdw8EvQ!bCVRr1HPLpArLcLWGZ8guexuGI6P-mtViLkvOaqoTEec50HxhNr5MJU5YyEGoFz6H9KnzCOprmCRTwLuNYQfP_E0iZSbJQ$> CAUTION: External Sender - Be cautious when clicking links or opening attachments. Please email info...@keyfactor.com<mailto:info...@keyfactor.com> with any questions. On Mon, Apr 3, 2023 at 12:25 AM <adrian.du...@keyfactor.com<mailto:adrian.du...@keyfactor.com>> wrote: On Mon, Feb 6, 2023 at 01:13 AM, Richard Purdie wrote: Hi Richard, Jumping on this thread to provide some clarifications as I hit the same bug. I can confirm that this is not an environment issue. I could reproduce it by adding a sudo call in an empty recipe like this: SUMMARY = "" HOMEPAGE = "" LICENSE = "" SECTION = "" DEPENDS = "" SRC_URI = "" do_install() { ls -l /usr/bin/sudo sudo ls -l /usr/bin/sudo } Build already use a fake root environment using pseudo to intercept the calls so this might not be out of line here. What is the original issue you are running into ? Running bitbake barebone on my x86 machine produces this error: | -rwxr-xr-x 1 nobody 65534 232416 Mar 1 13:59 /usr/bin/sudo | sudo: /etc/sudo.conf is owned by uid 65534, should be 0 | sudo: /etc/sudo.conf is owned by uid 65534, should be 0 | sudo: error in /etc/sudo.conf, line 0 while loading plugin "sudoers_policy" | sudo: /usr/libexec/sudo/sudoers.so<https://urldefense.com/v3/__http:/sudoers.so__;!!AjveYdw8EvQ!bCVRr1HPLpArLcLWGZ8guexuGI6P-mtViLkvOaqoTEec50HxhNr5MJU5YyEGoFz6H9KnzCOprmCRTwLuNYQfP_HvviZJJA$> must be owned by uid 0 | sudo: fatal error, unable to load plugins Indeed it seems that ownership is broken somehow in the bb environment. The issue was introduced somewhere between dunfell and kirkstone. I know it's a large timespan but it's a bit time consuming to narrow it down. Hoping to get some help on this. I would try to investigate further myself but I have no idea where to start to be honest. Best regards, --Adrian -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#59621): https://lists.yoctoproject.org/g/yocto/message/59621 Mute This Topic: https://lists.yoctoproject.org/mt/96733939/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-