summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/dhcp
diff options
context:
space:
mode:
authorAlexandru Moise <alexandru.moise@windriver.com>2016-03-18 14:21:25 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-20 23:12:31 +0000
commit07515b0b697108c6c2d177497dd771ef458e13c0 (patch)
tree83caae5540d522c085bf8d5d06a3ae6544e04636 /meta/recipes-connectivity/dhcp
parentb9ad80d95e1e3db827b47e9cec42c57fca8c23f1 (diff)
downloadpoky-07515b0b697108c6c2d177497dd771ef458e13c0.tar.gz
dhcpd: create dhcpd user for dhcp dameon
This patch enables the functionality for dhcpd service to be started with dhcp uid and gid. Test steps: Step 1: Assign ip to interface ifconfig eth0 192.168.1.1 Step 2: Edit /etc/dhcp/dhcpd.conf: default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; subnet 192.168.1.0 netmask 255.255.255.0 { option broadcast-address 192.168.1.255; range 192.168.1.88 192.168.1.88; option routers 192.168.1.0; } Step 3: Edit /etc/default/dhcp-server: INTERFACES="eth0" Step 4: Check uid and gid of running dhcpd process $ ps -eo user:19,group:19,cmd | grep dhcpd dhcp dhcp /usr/sbin/dhcpd eth0 -user dhcp -group dhcp (From OE-Core rev: 36d59255131f6d3f289d4f5dfcb58a9890996ffe) Signed-off-by: Alexandru Moise <alexandru.moise@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity/dhcp')
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp.inc6
-rw-r--r--meta/recipes-connectivity/dhcp/files/init-server2
2 files changed, 6 insertions, 2 deletions
diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc
index 9c4233b19d..5703f1e06d 100644
--- a/meta/recipes-connectivity/dhcp/dhcp.inc
+++ b/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -24,7 +24,10 @@ SRC_URI = "ftp://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \
24UPSTREAM_CHECK_URI = "ftp://ftp.isc.org/isc/dhcp/" 24UPSTREAM_CHECK_URI = "ftp://ftp.isc.org/isc/dhcp/"
25UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.\d+\.(\d+?))/" 25UPSTREAM_CHECK_REGEX = "(?P<pver>\d+\.\d+\.(\d+?))/"
26 26
27inherit autotools systemd 27inherit autotools systemd useradd
28
29USERADD_PACKAGES = "${PN}-server"
30USERADD_PARAM_${PN}-server = "--system --no-create-home --home-dir /var/run/${PN} --shell /bin/false --user-group ${PN}"
28 31
29SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay" 32SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay"
30SYSTEMD_SERVICE_${PN}-server = "dhcpd.service dhcpd6.service" 33SYSTEMD_SERVICE_${PN}-server = "dhcpd.service dhcpd6.service"
@@ -39,6 +42,7 @@ EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \
39 --with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \ 42 --with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \
40 --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \ 43 --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \
41 --with-libbind=${STAGING_LIBDIR}/ \ 44 --with-libbind=${STAGING_LIBDIR}/ \
45 --enable-paranoia \
42 " 46 "
43 47
44do_install_append () { 48do_install_append () {
diff --git a/meta/recipes-connectivity/dhcp/files/init-server b/meta/recipes-connectivity/dhcp/files/init-server
index 34c20852b9..5e693adf78 100644
--- a/meta/recipes-connectivity/dhcp/files/init-server
+++ b/meta/recipes-connectivity/dhcp/files/init-server
@@ -20,7 +20,7 @@ case "$1" in
20 echo -n "Starting DHCP server: " 20 echo -n "Starting DHCP server: "
21 test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/ 21 test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/
22 test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases 22 test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases
23 start-stop-daemon -S -x /usr/sbin/dhcpd -- -q $INTERFACES 23 start-stop-daemon -S -x /usr/sbin/dhcpd -- -q $INTERFACES -user dhcp -group dhcp
24 echo "." 24 echo "."
25 ;; 25 ;;
26 stop) 26 stop)