diff --git a/README.md b/README.md index 8ae84c1fb3..10bf02c111 100644 --- a/README.md +++ b/README.md @@ -168,7 +168,7 @@ de votre installation ScoDoc 7 pour passer à ScoDoc 8 (*ne pas utiliser en prod ## Création d'un département - sudo su + su scodoc # si besoin cd /opt/scodoc source venv/bin/activate flask sco-create-dept DEPT @@ -177,7 +177,7 @@ où `DEPT` est le nom du département (un acronyme en majuscule, comme "RT", "GE ### Suppression d'un département - sudo su + su scodoc # si besoin cd /opt/scodoc source venv/bin/activate flask sco-delete-dept DEPT diff --git a/scodoc.py b/scodoc.py index 9f6a610230..a921f2a2e4 100755 --- a/scodoc.py +++ b/scodoc.py @@ -152,10 +152,7 @@ def user_password(username, password=None): # user-password @click.argument("dept") def sco_delete_dept(dept): # sco-delete-dept "Delete existing departement" - if os.getuid() != 0: - sys.stderr.write("sco_delete_dept: must be run by root\n") - return 1 - if os.system('cd tools && ./delete_dept.sh -n "{}"'.format(dept)): + if os.system('tools/delete_dept.sh -n "{}"'.format(dept)): sys.stderr.write("error deleting dept " + dept) return 1 return 0 @@ -165,10 +162,7 @@ def sco_delete_dept(dept): # sco-delete-dept @click.argument("dept") def sco_create_dept(dept): # sco-create-dept "Create new departement" - if os.getuid() != 0: - sys.stderr.write("sco_create_dept: must be run by root\n") - return 1 - if os.system(f'cd tools && ./create_dept.sh -n "{dept}"'): + if os.system(f'tools/create_dept.sh -n "{dept}"'): sys.stderr.write(f"error creating dept {dept}\n") return 1 return 0 diff --git a/tools/create_dept.sh b/tools/create_dept.sh index 8eb86036a2..4d81ce449b 100755 --- a/tools/create_dept.sh +++ b/tools/create_dept.sh @@ -17,7 +17,7 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" source "$SCRIPT_DIR/config.sh" source "$SCRIPT_DIR/utils.sh" -check_uid_root "$0" +[ "$USER" = "$SCODOC_USER" ] || die "$0 must run as user $SCODOC_USER" cd "$SCRIPT_DIR" @@ -61,19 +61,17 @@ then exit 1 fi -# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists -init_postgres_user - # ----------------------- Create Dept database -su -c ./create_database.sh "$POSTGRES_SUPERUSER" +# (créée en tant qu'utilisateur scodoc) +./create_database.sh # ----------------------- Initialize table database # POSTGRES_USER == regular unix user (scodoc) if [ "$interactive" = 1 ] then - su -c ./initialize_database.sh "$POSTGRES_USER" + ./initialize_database.sh else - su -c ./initialize_database.sh "$POSTGRES_USER" > /dev/null 2>&1 + ./initialize_database.sh > /dev/null 2>&1 fi @@ -84,17 +82,10 @@ echo "dbname=${db_name}" > "$cfg_pathname" if [ "$interactive" = 1 ] then - # ----------------------- Force mise à jour - echo -n "Voulez vous mettre a jour ScoDoc (tres recommande) ? (y/n) [y] " - read -r ans - if [ "$(norm_ans "$ans")" != 'N' ] - then - (cd "$SCODOC_DIR/tools" || terminate "no config directory"; ./upgrade.sh) - fi # ----------------------- echo echo " Departement $DEPT cree" echo echo " Attention: la base de donnees n'a pas de copies de sauvegarde" - echo + echo "(XXX section à revoir en ScoDoc 8.1)" # #sco8 fi diff --git a/tools/install_debian10.sh b/tools/install_debian10.sh index df2b92725f..cc50925adb 100755 --- a/tools/install_debian10.sh +++ b/tools/install_debian10.sh @@ -105,6 +105,11 @@ then yes | ufw enable fi +# --- POSTGRESQL +# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists +init_postgres_user + + # --- XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX --- echo echo "WARNING: version ScoDoc8 expérimentale"