30-config 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/with-contenv bash
  2. # make folders
  3. mkdir -p \
  4. /config/{comskip,openvpn}
  5. # copy config
  6. [[ ! -e /config/dvr/config ]] && \
  7. (mkdir -p /config/dvr/config && cp /defaults/7a5edfbe189851e5b1d1df19c93962f0 /config/dvr/config/7a5edfbe189851e5b1d1df19c93962f0)
  8. [[ ! -e /config/comskip/comskip.ini ]] && \
  9. cp /defaults/comskip.ini.org /config/comskip/comskip.ini
  10. [[ ! -e /config/config ]] && \
  11. (cp /defaults/config /config/config)
  12. # extract picons on first run
  13. [[ -f /picons.tar.bz2 ]] && \
  14. tar xf \
  15. /picons.tar.bz2 -C \
  16. /picons &&
  17. rm -f /picons.tar.bz2
  18. # function to randomly sample 5 files for their owner and only chown if not abc
  19. chowner () {
  20. files=(${1}/*)
  21. for i in {1..5}; do
  22. user=$(stat -c '%U' $(printf "%s\n" "${files[RANDOM % ${#files[@]}]}"))
  23. if [ "${user}" != "abc" ]; then
  24. chown -R abc:abc ${1}
  25. break
  26. fi
  27. done
  28. }
  29. # permissions
  30. echo "Setting permissions"
  31. abc_dirs=( \
  32. /config \
  33. /picons \
  34. )
  35. for i in "${abc_dirs[@]}"; do
  36. if [ "$(ls -A ${i})" ]; then
  37. chowner ${i}
  38. else
  39. chown -R abc:abc ${i}
  40. fi
  41. done