summaryrefslogtreecommitdiffstats
path: root/cron-jobs/adjust-permissions
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2009-09-14 01:19:59 +0200
committerDan McGee <dan@archlinux.org>2009-09-14 01:19:59 +0200
commit0897913c0adf10a0a9ff4d8790842715e0e3b1b4 (patch)
treeb93ec0754dbd687e60e3aa3cecec9cb1608b3996 /cron-jobs/adjust-permissions
parent2afa1063284a25ae2691b2727c45238d15025a9a (diff)
downloaddbscripts-0897913c0adf10a0a9ff4d8790842715e0e3b1b4.tar.gz
dbscripts-0897913c0adf10a0a9ff4d8790842715e0e3b1b4.tar.xz
Add new get_repos_for_host() function
And use it. This allows us to have server-specific behavior in our scripts without further patching, and it also allows us to simplify some of our scripts a fair amount. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'cron-jobs/adjust-permissions')
-rwxr-xr-xcron-jobs/adjust-permissions50
1 files changed, 27 insertions, 23 deletions
diff --git a/cron-jobs/adjust-permissions b/cron-jobs/adjust-permissions
index 6670a6f..91f2de7 100755
--- a/cron-jobs/adjust-permissions
+++ b/cron-jobs/adjust-permissions
@@ -1,36 +1,40 @@
-#!/bin/sh
+#!/bin/bash
if [ -f /tmp/.ftpmaint.lck ]; then
- exit 0
+ exit 0
fi
/bin/touch /tmp/.ftpmaint.lck
+. "$(dirname $0)/../db-functions"
+. "$(dirname $0)/../config"
+
+get_dir_owner() {
+ case $1 in
+ core)
+ echo "ftp:ftp-arch" ;;
+ extra)
+ echo "ftp:ftp-extra" ;;
+ testing)
+ echo "ftp:ftp-extra" ;;
+ community)
+ echo "root:tusers" ;;
+ community-testing)
+ echo "root:tusers" ;;
+ esac
+}
+
#adjust the nice level to run at a lower priority
/usr/bin/renice +10 -p $$ > /dev/null
cd /srv/ftp
-if [ -d "core" ]; then
- #This is unique to gerolde (main arch server)
- /bin/chown -R ftp:ftp-arch core/os/any
- /bin/chown -R ftp:ftp-arch core/os/i686
- /bin/chown -R ftp:ftp-arch core/os/x86_64
- /bin/chown -R ftp:ftp-extra {extra,testing}/os/any
- /bin/chown -R ftp:ftp-extra {extra,testing}/os/i686
- /bin/chown -R ftp:ftp-extra {extra,testing}/os/x86_64
- for d in core extra testing; do
- /bin/chmod -R g+w $d/os/any
- /bin/chmod -R g+w $d/os/i686
- /bin/chmod -R g+w $d/os/x86_64
- done
-else
- /bin/chown -R root:tusers {community,community-testing}/os/any
- /bin/chown -R root:tusers {community,community-testing}/os/i686
- /bin/chown -R root:tusers {community,community-testing}/os/x86_64
- /bin/chmod -R g+w {community,community-testing}/os/any
- /bin/chmod -R g+w {community,community-testing}/os/i686
- /bin/chmod -R g+w {community,community-testing}/os/x86_64
-fi
+for d in $(get_repos_for_host); do
+ owner="$(get_dir_owner $d)"
+ echo /bin/chown -R $owner $d/os/{any,i686,x86_64}
+ #/bin/chown -R $owner $d/os/{any,i686,x86_64}
+ echo /bin/chmod -R g+w $d/os/{any,i686,x86_64}
+ #/bin/chmod -R g+w $d/os/{any,i686,x86_64}
+done
/bin/chmod 555 /srv/ftp