소스 검색

Change permissionf for pleroma user during database creation

Bob Mottram 7 년 전
부모
커밋
cb1b654c7c
1개의 변경된 파일17개의 추가작업 그리고 5개의 파일을 삭제
  1. 17
    5
      src/freedombone-app-pleroma

+ 17
- 5
src/freedombone-app-pleroma 파일 보기

187
     fi
187
     fi
188
 
188
 
189
     add_postgresql_user pleroma "$PLEROMA_ADMIN_PASSWORD" encrypted
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
     run_system_query_postgresql "GRANT ALL ON ALL tables IN SCHEMA public TO pleroma;"
194
     run_system_query_postgresql "GRANT ALL ON ALL tables IN SCHEMA public TO pleroma;"
191
     run_system_query_postgresql "GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;"
195
     run_system_query_postgresql "GRANT ALL ON ALL sequences IN SCHEMA public TO pleroma;"
192
 
196
 
202
     sed -i "s|email: .*|email: \"$MY_EMAIL_ADDRESS\",|g" $pleroma_config
206
     sed -i "s|email: .*|email: \"$MY_EMAIL_ADDRESS\",|g" $pleroma_config
203
 
207
 
204
     cd $PLEROMA_DIR
208
     cd $PLEROMA_DIR
205
-    mix local.rebar --force
209
+    chown -R pleroma:pleroma *
210
+    sudo -u pleroma mix local.rebar --force
206
     if [ ! "$?" = "0" ]; then
211
     if [ ! "$?" = "0" ]; then
207
         echo $'mix local.rebar failed'
212
         echo $'mix local.rebar failed'
208
         exit 73528562
213
         exit 73528562
209
     fi
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
     if [ ! "$?" = "0" ]; then
218
     if [ ! "$?" = "0" ]; then
212
         echo $'mix ecto.create failed'
219
         echo $'mix ecto.create failed'
213
         exit 83653582
220
         exit 83653582
214
     fi
221
     fi
215
-    mix ecto.migrate --force
222
+    sudo -u pleroma mix ecto.migrate --force
216
     if [ ! "$?" = "0" ]; then
223
     if [ ! "$?" = "0" ]; then
217
         echo $'mix ecto.migrate failed'
224
         echo $'mix ecto.migrate failed'
218
         exit 73752573
225
         exit 73752573
219
     fi
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
 function reconfigure_pleroma {
233
 function reconfigure_pleroma {
637
 
648
 
638
     # back end
649
     # back end
639
     cd $PLEROMA_DIR
650
     cd $PLEROMA_DIR
640
-    mix local.hex --force
651
+    chown -R pleroma:pleroma *
652
+    sudo -u pleroma mix local.hex --force
641
     if [ ! "$?" = "0" ]; then
653
     if [ ! "$?" = "0" ]; then
642
         echo $'mix local.hex failed'
654
         echo $'mix local.hex failed'
643
         exit 1745673
655
         exit 1745673
644
     fi
656
     fi
645
-    mix deps.get --force
657
+    sudo -u pleroma mix deps.get --force
646
     if [ ! "$?" = "0" ]; then
658
     if [ ! "$?" = "0" ]; then
647
         echo $'mix deps.get failed'
659
         echo $'mix deps.get failed'
648
         exit 7325733
660
         exit 7325733