doinst.sh (4199B)
1 config() { 2 NEW="$1" 3 OLD="$(dirname $NEW)/$(basename $NEW .new)" 4 # If there's no config file by that name, mv it over: 5 if [ ! -r $OLD ]; then 6 mv $NEW $OLD 7 elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then 8 # toss the redundant copy 9 rm $NEW 10 fi 11 # Otherwise, we leave the .new copy for the admin to consider... 12 } 13 14 # Group for all taler exchange users. 15 if ! getent group taler >/dev/null; then 16 groupadd taler \ 17 --system \ 18 || true 19 fi 20 21 # Group for all Taler users with direct database access. 22 if ! getent group taler-exchange-db >/dev/null; then 23 groupadd taler-exchange-db \ 24 --system \ 25 || true 26 fi 27 28 # Group for processes with access to online signing keys. 29 if ! getent group taler-exchange-secmod >/dev/null; then 30 groupadd taler-exchange-secmod \ 31 --system \ 32 || true 33 fi 34 35 # Group for the access to the offline private key. 36 if ! getent group taler-exchange-offline >/dev/null; then 37 groupadd taler-exchange-offline \ 38 --system \ 39 || true 40 fi 41 42 if ! getent passwd taler-exchange-offline >/dev/null; then 43 useradd taler-exchange-offline \ 44 --comment 'Runs the HTTP daemon with the core business logic' \ 45 --groups taler-exchange-db \ 46 --system \ 47 --home-dir /var/lib/taler \ 48 || true 49 fi 50 51 if ! getent passwd taler-exchange-secmod-rsa >/dev/null; then 52 useradd taler-exchange-secmod-rsa \ 53 --comment 'Manages the RSA private online signing keys' \ 54 --gid taler \ 55 --groups taler-exchange-secmod \ 56 --system \ 57 --home-dir /var/lib/taler \ 58 || true 59 fi 60 61 if ! getent passwd taler-secmod-cs >/dev/null; then 62 useradd taler-exchange-secmod-cs \ 63 --comment 'Manages the CS private online signing keys' \ 64 --gid taler \ 65 --groups taler-exchange-secmod \ 66 --system \ 67 --home-dir /var/lib/taler \ 68 || true 69 fi 70 71 if ! getent passwd taler-exchange-secmod-eddsa >/dev/null; then 72 useradd taler-exchange-secmod-eddsa \ 73 --comment 'Manages the EdDSA private online signing keys' \ 74 --gid taler \ 75 --groups taler-exchange-secmod \ 76 --system \ 77 --home-dir /var/lib/taler \ 78 || true 79 fi 80 81 if ! getent passwd taler-exchange-closer >/dev/null; then 82 useradd taler-exchange-closer \ 83 --comment 'Closes idle reserves by triggering wire transfers that refund the originator' \ 84 --gid taler \ 85 --groups taler-exchange-db \ 86 --system \ 87 --home-dir /var/lib/taler \ 88 || true 89 fi 90 91 if ! getent passwd taler-exchange-aggregator >/dev/null; then 92 useradd taler-exchange-aggregator \ 93 --comment 'Aggregates deposits into larger wire transfer requests' \ 94 --gid taler \ 95 --groups taler-exchange-db \ 96 --system \ 97 --home-dir /var/lib/taler \ 98 || true 99 fi 100 101 if ! getent passwd taler-exchange-transfer >/dev/null; then 102 useradd taler-exchange-transfer \ 103 --comment 'Performs wire transfers with the bank (via LibEuFin/Nexus)' \ 104 --gid taler \ 105 --groups taler-exchange-db \ 106 --system \ 107 --home-dir /var/lib/taler \ 108 || true 109 fi 110 111 if ! getent passwd taler-exchange-wirewatch >/dev/null; then 112 useradd taler-exchange-wirewatch \ 113 --comment 'Checks for incoming wire transfers with the bank (via LibEuFin/Nexus)' \ 114 --gid taler \ 115 --groups taler-exchange-db \ 116 --system \ 117 --home-dir /var/lib/taler \ 118 || true 119 fi 120 121 if ! getent passwd taler-exchange-offline >/dev/null; then 122 useradd taler-exchange-offline \ 123 --comment 'User for the access to the offline private key.' \ 124 --gid taler \ 125 --groups taler-exchange-offline \ 126 --system \ 127 --home-dir /var/lib/taler \ 128 || true 129 fi 130 131 config etc/httpd/sites-available/taler-exchange.conf.new 132 config etc/rc.d/rc.taler-exchange.new 133 config etc/taler/conf.d/exchange-business.conf.new 134 config etc/taler/conf.d/exchange-coins.conf.new 135 config etc/taler/conf.d/exchange-system.conf.new 136 config etc/taler/secrets/exchange-accountcredentials-1.secret.conf.new 137 config etc/taler/secrets/exchange-db.secret.conf.new 138 139 chown root:taler etc/taler/secrets 140 chown root:taler var/cache/taler 141 chown root:taler var/lib/taler 142 chown root:taler var/log/taler 143 144 chown :taler etc/taler/secrets/exchange-accountcredentials-1.secret.conf.new 145 chown :taler-exchange-db etc/taler/secrets/exchange-db.secret.conf.new