Selaa lähdekoodia

Change permissionf for pleroma user during database creation

Bob Mottram 7 vuotta sitten
vanhempi
commit
cb1b654c7c
1 muutettua tiedostoa jossa 17 lisäystä ja 5 poistoa
  1. 17
    5
      src/freedombone-app-pleroma

+ 17
- 5
src/freedombone-app-pleroma Näytä tiedosto

@@ -187,6 +187,10 @@ function pleroma_create_database {
187 187
     fi
188 188
 
189 189
     add_postgresql_user pleroma "$PLEROMA_ADMIN_PASSWORD" encrypted
190
+    run_system_query_postgresql "create database pleroma;"
191
+    # temporarily allow the user to create databases
192
+    run_system_query_postgresql "ALTER USER pleroma CREATEDB;"
193
+    run_system_query_postgresql "ALTER USER pleroma SUPERUSER;"
190 194
     run_system_query_postgresql "GRANT ALL ON ALL tables IN SCHEMA public TO pleroma;"
191 195
     run_system_query_postgresql "GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;"
192 196
 
@@ -202,21 +206,28 @@ function pleroma_create_database {
202 206
     sed -i "s|email: .*|email: \"$MY_EMAIL_ADDRESS\",|g" $pleroma_config
203 207
 
204 208
     cd $PLEROMA_DIR
205
-    mix local.rebar --force
209
+    chown -R pleroma:pleroma *
210
+    sudo -u pleroma mix local.rebar --force
206 211
     if [ ! "$?" = "0" ]; then
207 212
         echo $'mix local.rebar failed'
208 213
         exit 73528562
209 214
     fi
210
-    mix ecto.create --force
215
+    sudo -u pleroma mix local.hex --force
216
+    sudo -u pleroma mix deps.compile mimerl
217
+    sudo -u pleroma mix ecto.create --force
211 218
     if [ ! "$?" = "0" ]; then
212 219
         echo $'mix ecto.create failed'
213 220
         exit 83653582
214 221
     fi
215
-    mix ecto.migrate --force
222
+    sudo -u pleroma mix ecto.migrate --force
216 223
     if [ ! "$?" = "0" ]; then
217 224
         echo $'mix ecto.migrate failed'
218 225
         exit 73752573
219 226
     fi
227
+
228
+    # revoke the ability to create databases for this user
229
+    run_system_query_postgresql "ALTER USER pleroma NOSUPERUSER;"
230
+    run_system_query_postgresql "ALTER USER pleroma NOCREATEDB;"
220 231
 }
221 232
 
222 233
 function reconfigure_pleroma {
@@ -637,12 +648,13 @@ function install_pleroma {
637 648
 
638 649
     # back end
639 650
     cd $PLEROMA_DIR
640
-    mix local.hex --force
651
+    chown -R pleroma:pleroma *
652
+    sudo -u pleroma mix local.hex --force
641 653
     if [ ! "$?" = "0" ]; then
642 654
         echo $'mix local.hex failed'
643 655
         exit 1745673
644 656
     fi
645
-    mix deps.get --force
657
+    sudo -u pleroma mix deps.get --force
646 658
     if [ ! "$?" = "0" ]; then
647 659
         echo $'mix deps.get failed'
648 660
         exit 7325733