diff options
author | Kevin Tian <kevin.tian@intel.com> | 2011-01-26 19:44:15 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-02-01 23:59:40 +0000 |
commit | ab3161839a082547f64093eaf8a1e2d48db840e5 (patch) | |
tree | 87627b6f35b928ff00441f42059cc43bcf045cde /meta/recipes-extended | |
parent | ede0009e7c30e22b0c41a648ec082b1fad013000 (diff) | |
download | poky-ab3161839a082547f64093eaf8a1e2d48db840e5.tar.gz |
at: allow normal user to use 'at'
fix [BUGID #675]
Similar to previous cronie changes, so far 'at' environment is also not
complete and only root user could trigger delayed tasks. Similar permission
changes are required for:
/etc/at.deny
/usr/bin/at
/var/spool/at/
/usr/bin/at is setgid to 'daemon', to differentiate with cronie. So move
'at' out of 'cron' (/var/spool/cron/at -> /var/spool/at)
another fix is to rename /etc/init.d/at to atd which is more widely used
in other distros (also required by LTP test cases)
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r-- | meta/recipes-extended/at/at_3.1.12.bb | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/meta/recipes-extended/at/at_3.1.12.bb b/meta/recipes-extended/at/at_3.1.12.bb index c010b3946b..3a9449773e 100644 --- a/meta/recipes-extended/at/at_3.1.12.bb +++ b/meta/recipes-extended/at/at_3.1.12.bb | |||
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" | |||
7 | DEPENDS = "flex libpam initscripts" | 7 | DEPENDS = "flex libpam initscripts" |
8 | RCONFLICTS_${PN} = "atd" | 8 | RCONFLICTS_${PN} = "atd" |
9 | RREPLACES_${PN} = "atd" | 9 | RREPLACES_${PN} = "atd" |
10 | PR = "r3" | 10 | PR = "r4" |
11 | 11 | ||
12 | SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \ | 12 | SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \ |
13 | file://configure.patch \ | 13 | file://configure.patch \ |
@@ -25,8 +25,8 @@ SRC_URI[sha256sum] = "7c55c6ab4fbe8add9e68f31b2b0ebf3fe805c9a4e7cfb2623a3d8a4789 | |||
25 | EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ | 25 | EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ |
26 | --with-daemon_username=root \ | 26 | --with-daemon_username=root \ |
27 | --with-daemon_groupname=root \ | 27 | --with-daemon_groupname=root \ |
28 | --with-jobdir=/var/spool/cron/atjobs \ | 28 | --with-jobdir=/var/spool/at/jobs \ |
29 | --with-atspool=/var/spool/cron/atspool" | 29 | --with-atspool=/var/spool/at/spool" |
30 | 30 | ||
31 | inherit autotools | 31 | inherit autotools |
32 | 32 | ||
@@ -39,8 +39,27 @@ do_install () { | |||
39 | 39 | ||
40 | install -d ${D}${sysconfdir}/init.d | 40 | install -d ${D}${sysconfdir}/init.d |
41 | install -d ${D}${sysconfdir}/rcS.d | 41 | install -d ${D}${sysconfdir}/rcS.d |
42 | install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/at | 42 | install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/atd |
43 | ln -sf ../init.d/at ${D}${sysconfdir}/rcS.d/S99at | 43 | ln -sf ../init.d/atd ${D}${sysconfdir}/rcS.d/S99at |
44 | } | ||
45 | |||
46 | pkg_postinst_${PN} () { | ||
47 | if [ "x$D" != "x" ] ; then | ||
48 | exit 1 | ||
49 | fi | ||
50 | |||
51 | # below is necessary to allow at usable to normal users | ||
52 | # now at is has its own /var/spool/at instead of under /var/spool/cron | ||
53 | # this way is better to allow setgid on both sides | ||
54 | grep "^daemon" /etc/group || groupadd daemon | ||
55 | chown root:daemon /usr/bin/at | ||
56 | chmod 2755 /usr/bin/at | ||
57 | |||
58 | chown root:daemon -R /var/spool/at | ||
59 | chmod 770 -R /var/spool/at | ||
60 | |||
61 | chown root:daemon /etc/at.deny | ||
62 | chmod 640 /etc/at.deny | ||
44 | } | 63 | } |
45 | 64 | ||
46 | PARALLEL_MAKE = "" | 65 | PARALLEL_MAKE = "" |