diff options
| author | jvdias <jvdias@fedoraproject.org> | 2006-03-08 00:42:02 +0000 |
|---|---|---|
| committer | jvdias <jvdias@fedoraproject.org> | 2006-03-08 00:42:02 +0000 |
| commit | 7366a5e0eb6e5f53de0f1313127ae24304e43558 (patch) | |
| tree | 9f5b9d829c3b3bf373fc16d0ebc09be35d3bee33 /bind-chroot-admin.in | |
| parent | 0cd02aa18f76fca3a52a81df26804036142b80f2 (diff) | |
| download | bind-9_3_2-7.tar.gz bind-9_3_2-7.tar.xz bind-9_3_2-7.zip | |
fix issues with bind-chroot-adminbind-9_3_2-7
Diffstat (limited to 'bind-chroot-admin.in')
| -rw-r--r-- | bind-chroot-admin.in | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/bind-chroot-admin.in b/bind-chroot-admin.in index 81598a8..987e249 100644 --- a/bind-chroot-admin.in +++ b/bind-chroot-admin.in @@ -74,15 +74,22 @@ function check_dirs() /bin/chmod 750 ${BIND_DIR} /bin/chmod 770 ${BIND_DIR}/{slaves,data}; - mkdir -p ${BIND_CHROOT_PREFIX}/{etc,proc,dev,var/{run/dbus,run/named,named/{slaves,data}}}; - /bin/chown root:named ${BIND_CHROOT_PREFIX}/{etc,proc,dev,var/{run,run/dbus,named/}}; - /bin/chmod 750 ${BIND_CHROOT_PREFIX}/{,etc,proc,dev,var,var/{run,run/dbus,named/}}; + mkdir -p ${BIND_CHROOT_PREFIX}/{etc,dev,var/{run/named,named/{slaves,data}}}; + /bin/chown root:named ${BIND_CHROOT_PREFIX}/{etc,dev,var/{run,named/}}; + /bin/chmod 750 ${BIND_CHROOT_PREFIX}/{,etc,dev,var,var/{run,named/}}; /bin/chown named:named ${BIND_CHROOT_PREFIX}/var/{run/named,named/{data,slaves}}; - /bin/chmod 770 ${BIND_CHROOT_PREFIX}/var/{run/named,named/{slaves,data}}; - [ ! -e "${BIND_CHROOT_PREFIX}/dev/random" ] && /bin/mknod "${BIND_CHROOT_PREFIX}/dev/random" c 1 8 + /bin/chmod 770 ${BIND_CHROOT_PREFIX}/var/{run/named,named/{slaves,data}}; + + [ ! -e "${BIND_CHROOT_PREFIX}/dev/random" ] && /bin/mknod "${BIND_CHROOT_PREFIX}/dev/random" c 1 8 [ ! -e "${BIND_CHROOT_PREFIX}/dev/zero" ] && /bin/mknod "${BIND_CHROOT_PREFIX}/dev/zero" c 1 5 [ ! -e "${BIND_CHROOT_PREFIX}/dev/null" ] && /bin/mknod "${BIND_CHROOT_PREFIX}/dev/null" c 1 3 [ ! -e "${BIND_CHROOT_PREFIX}/etc/localtime" ] && [ -e /etc/localtime ] && /bin/cp -fp /etc/localtime "${BIND_CHROOT_PREFIX}/etc/localtime"; + chmod 666 "${BIND_CHROOT_PREFIX}"/dev/{random,null,zero}; + if [ -d /selinux ] && [ -x /usr/bin/chcon ]; then + for dev in random zero null; do + /usr/bin/chcon --reference=/dev/$dev ${BIND_CHROOT_PREFIX}/dev/$dev; + done + fi; } check_dirs; @@ -173,7 +180,7 @@ function replace_with_file() function enable_bind_chroot() { - if /bin/egrep '^ROOTDIR=' /etc/sysconfig/named; then + if /bin/egrep -q '^ROOTDIR=' /etc/sysconfig/named; then /bin/sed -i -e 's#^ROOTDIR=.*$#ROOTDIR='${BIND_CHROOT_PREFIX}'#' /etc/sysconfig/named ; else echo 'ROOTDIR='${BIND_CHROOT_PREFIX} >> /etc/sysconfig/named; @@ -216,7 +223,7 @@ function sync_files() chown named:named ${pfx}/var/named/{data{,/*},slaves{,*/}} >/dev/null 2>&1; chmod 770 ${pfx}/var/named/{data,slaves} >/dev/null 2>&1; chmod 640 ${pfx}/var/named/{data/*,slaves/*} >/dev/null 2>&1; -# [ -x /sbin/restorecon ] && /sbin/restorecon -R $pfx{/var/named,/etc/{named,rndc}.*} -e ${BIND_CHROOT_PREFIX}/proc -e ${BIND_CHROOT_PREFIX}/var/run/dbus -e ${BIND_CHROOT_PREFIX}/dev >/dev/null 2>&1; + [ -x /sbin/restorecon ] && /sbin/restorecon -R $pfx{/var/named,/etc/{named,rndc}.*} -e ${BIND_CHROOT_PREFIX}/proc -e ${BIND_CHROOT_PREFIX}/var/run/dbus -e ${BIND_CHROOT_PREFIX}/dev >/dev/null 2>&1; } case $1 in @@ -230,6 +237,8 @@ case $1 in disable_bind_chroot; sync_files; /sbin/service named condrestart + /bin/umount ${BIND_CHROOT_PREFIX}/proc >/dev/null 2>&1 || :; + /bin/umount ${BIND_CHROOT_PREFIX}/var/run/dbus >/dev/null 2>&1 || :; exit $?; ;; -s|--sync) |
