]> code.ossystems Code Review - openembedded-core.git/commitdiff
dhcpcd: add dhcpcd user to support priviledge separation
authorYi Zhao <yi.zhao@windriver.com>
Wed, 23 Sep 2020 09:45:47 +0000 (17:45 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 23 Sep 2020 19:53:10 +0000 (20:53 +0100)
The dhcpcd enables privsep by default. It requires a user added to the
system. Add dhcpcd user and group to support it.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-connectivity/dhcpcd/dhcpcd_9.2.0.bb

index 557e15128e59cd7c4dbdbe66f7caa5b713350cf6..4344841b5466944d39c9cea1d8768a6dcfe1d644 100644 (file)
@@ -19,7 +19,7 @@ SRC_URI = "https://roy.marples.name/downloads/${BPN}/${BPN}-${PV}.tar.xz \
 
 SRC_URI[sha256sum] = "fcb2d19672d445bbfd38678fdee4f556ef967a3ea6bd81092d10545df2cb9666"
 
-inherit pkgconfig autotools-brokensep systemd
+inherit pkgconfig autotools-brokensep systemd useradd
 
 SYSTEMD_SERVICE_${PN} = "dhcpcd.service"
 
@@ -33,10 +33,16 @@ EXTRA_OECONF = "--enable-ipv4 \
                 --runstatedir=/run \
                "
 
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system -d ${localstatedir}/lib/${BPN} -M -s /bin/false -U dhcpcd"
+
 do_install_append () {
     # install systemd unit files
     install -d ${D}${systemd_unitdir}/system
     install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_unitdir}/system
+
+    chmod 700 ${D}${localstatedir}/lib/${BPN}
+    chown dhcpcd:dhcpcd ${D}${localstatedir}/lib/${BPN}
 }
 
 FILES_${PN}-dbg += "${libdir}/dhcpcd/dev/.debug"