TorPostflight 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/sh
  2. # TorPostflight gets invoked after any install or upgrade.
  3. ADDSYSUSER=$RECEIPT_PATH/addsysuser
  4. if [ ! -x "$ADDSYSUSER" ]; then
  5. echo "Could not find addsysuser script."
  6. exit 1
  7. fi
  8. TORUSER=_tor
  9. TORGROUP=daemon
  10. TARGET=$2/Library/Tor
  11. TORDIR=$TARGET/var/lib/tor
  12. # Create user $TORUSER in group daemon. If it's already there, great.
  13. $ADDSYSUSER $TORUSER "Tor System user" $TORDIR
  14. # Create the tor directory, if it doesn't exist.
  15. if [ ! -d $TORDIR ]; then
  16. mkdir -p $TORDIR
  17. fi
  18. # Check its permissions.
  19. chown $TORUSER $TORDIR
  20. chgrp daemon $TORDIR
  21. chmod 700 $TORDIR
  22. # Create the configuration file only if there wan't one already.
  23. if [ ! -f $TARGET/torrc ]; then
  24. cp $TARGET/torrc.sample $TARGET/torrc
  25. fi
  26. # Ensure symbolic links
  27. cd /usr/bin
  28. if [ -e /usr/bin/tor -a ! -L /usr/bin/tor ]; then
  29. mv tor tor_old
  30. fi
  31. if [ -e /usr/bin/tor-resolve -a ! -L /usr/bin/tor-resolve ]; then
  32. mv tor-resolve tor-resolve_old
  33. fi
  34. ln -sf $TARGET/tor .
  35. ln -sf $TARGET/tor_resolve .
  36. cd /usr/share/man/man1
  37. MAN1=$TARGET/man/man1
  38. ln -sf $MAN1/*.1 .