[Buildroot] Fighting with suid bit
kaneda at chez.com
kaneda at chez.com
Fri May 4 12:24:36 UTC 2018
Hi,
It seems you got something here....
/target
- ucon64 is 4755
- udevadm is 4755
rootfs.tar.gz
- ucon64 is 4755
- udevadm is 4755
rootfs.cpio
- ucon64 is 0755
- udevadm is 0755
As you can see, it's not only my own file, but also udevadm
So yes, it's on the Generating root filesystem image rootfs.cpio
part....
I see it's using cpio --quiet -o -H newc
and that it uses _device_table.txt where is present
/usr/bin/ucon64 f 4755 0 0 - - - - -
What could I test more ?
is there a way to not delete _fakeroot.fs to make some tsts
Le 2018-05-03 23:02, Arnout Vandecappelle a écrit :
> On 03-05-18 18:52, kaneda at chez.com wrote:
>> Hi there,
>>
>> I'm using buildroot to make a lightweight distro dedicated to retro
>> dev
>> (https://bitbucket.org/SpritesMind/lilu).
>> usually, I find my answer on manual, mailing list or google but this
>> time, I'm
>> lost :
>>
>> One of my tools need raw io access to parallel port.
>> I solved this using the setuid bit but I'm unable to include it on my
>> FS distro.
>>
>> This tool has is own package so here is what I tried
>>
>> define UCON64_INSTALL_TARGET_CMDS
>> $(INSTALL) -D -m 4755 $(@D)/src/ucon64 $(TARGET_DIR)/usr/bin
>
> This might not work, it's possible that the suid bit is lost under
> fakeroot.
>
> Note BTW that with -D, you should specify the full path of the target,
> so
>
> $(INSTALL) -D -m 4755 $(@D)/src/ucon64 $(TARGET_DIR)/usr/bin/ucon64
>
>> endef
>>
>> define UCON64_PERMISSIONS
>> /usr/bin/ucon64 f 4755 0 0 - - - - -
>
> This should work however...
>
>> endef
>>
>>
>> or throught buildroot config
>>
>>
>> BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt
>> $(BR2_EXTERNAL)/board/neoware/ca21/device_table.txt"
>>
>> with this device_table.txt :
>> /usr/bin/ucon64 f 4755 0 0 - - -
>> - -
>>
>>
>> I wonder if it's because I'm building a LiveCD with initrd
>>
>> CONFIG_DEVTMPFS=y
>> CONFIG_DEVTMPFS_MOUNT=y
>>
>> BR2_TARGET_ROOTFS_ISO9660=y
>> BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="$(BR2_EXTERNAL)/board/neoware/ca21/syslinux.cfg"
>
> You do have BR2_TARGET_ROOTFS_ISO9660_INITRD=y as well, right? (y is
> the
> default). I don't think the iso9660 filesystem has support for the suid
> bit.
>
>
>> BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
>> BR2_TARGET_ROOTFS_TAR_GZIP=y
>
> You should also have a rootfs.tar.gz and a rootfs.cpio; can you check
> in these
> two files whether the suid bit is set?
>
>> BR2_TARGET_SYSLINUX=y
>> BR2_TARGET_SYSLINUX_ISOLINUX=y
>> BR2_TARGET_SYSLINUX_MBR=y
>>
>>
>>
>> but whatever happens, I have /usr/bin/ucon64 0755 on boot and not
>> 4755, which I
>> could fix with chmod but not perfect....
>
> Oh, if you can fix it with chmod, it can't be iso9660 since that's
> readonly. Or
> are you doing something with overlayfs or something?
>
> Regards,
> Arnout
>
>>
>> any idea , hint , trick ?
>> and sorry if it's a basic issue, I'm not a linux guru ;)
>>
>>
>> Regards
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>
> --
> Arnout Vandecappelle arnout at mind be
> Senior Embedded Software Architect +32-16-286500
> Essensium/Mind http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
More information about the buildroot
mailing list