forked from ScoDoc/ScoDoc
Ajout/suppression de département en tant qu'utilisateur scodoc (non root)
This commit is contained in:
parent
76a6270740
commit
3d99b8c087
@ -168,7 +168,7 @@ de votre installation ScoDoc 7 pour passer à ScoDoc 8 (*ne pas utiliser en prod
|
|||||||
|
|
||||||
## Création d'un département
|
## Création d'un département
|
||||||
|
|
||||||
sudo su
|
su scodoc # si besoin
|
||||||
cd /opt/scodoc
|
cd /opt/scodoc
|
||||||
source venv/bin/activate
|
source venv/bin/activate
|
||||||
flask sco-create-dept DEPT
|
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
|
### Suppression d'un département
|
||||||
|
|
||||||
sudo su
|
su scodoc # si besoin
|
||||||
cd /opt/scodoc
|
cd /opt/scodoc
|
||||||
source venv/bin/activate
|
source venv/bin/activate
|
||||||
flask sco-delete-dept DEPT
|
flask sco-delete-dept DEPT
|
||||||
|
10
scodoc.py
10
scodoc.py
@ -152,10 +152,7 @@ def user_password(username, password=None): # user-password
|
|||||||
@click.argument("dept")
|
@click.argument("dept")
|
||||||
def sco_delete_dept(dept): # sco-delete-dept
|
def sco_delete_dept(dept): # sco-delete-dept
|
||||||
"Delete existing departement"
|
"Delete existing departement"
|
||||||
if os.getuid() != 0:
|
if os.system('tools/delete_dept.sh -n "{}"'.format(dept)):
|
||||||
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)):
|
|
||||||
sys.stderr.write("error deleting dept " + dept)
|
sys.stderr.write("error deleting dept " + dept)
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
@ -165,10 +162,7 @@ def sco_delete_dept(dept): # sco-delete-dept
|
|||||||
@click.argument("dept")
|
@click.argument("dept")
|
||||||
def sco_create_dept(dept): # sco-create-dept
|
def sco_create_dept(dept): # sco-create-dept
|
||||||
"Create new departement"
|
"Create new departement"
|
||||||
if os.getuid() != 0:
|
if os.system(f'tools/create_dept.sh -n "{dept}"'):
|
||||||
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}"'):
|
|
||||||
sys.stderr.write(f"error creating dept {dept}\n")
|
sys.stderr.write(f"error creating dept {dept}\n")
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
@ -17,7 +17,7 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|||||||
source "$SCRIPT_DIR/config.sh"
|
source "$SCRIPT_DIR/config.sh"
|
||||||
source "$SCRIPT_DIR/utils.sh"
|
source "$SCRIPT_DIR/utils.sh"
|
||||||
|
|
||||||
check_uid_root "$0"
|
[ "$USER" = "$SCODOC_USER" ] || die "$0 must run as user $SCODOC_USER"
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
cd "$SCRIPT_DIR"
|
||||||
|
|
||||||
@ -61,19 +61,17 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists
|
|
||||||
init_postgres_user
|
|
||||||
|
|
||||||
# ----------------------- Create Dept database
|
# ----------------------- Create Dept database
|
||||||
su -c ./create_database.sh "$POSTGRES_SUPERUSER"
|
# (créée en tant qu'utilisateur scodoc)
|
||||||
|
./create_database.sh
|
||||||
|
|
||||||
# ----------------------- Initialize table database
|
# ----------------------- Initialize table database
|
||||||
# POSTGRES_USER == regular unix user (scodoc)
|
# POSTGRES_USER == regular unix user (scodoc)
|
||||||
if [ "$interactive" = 1 ]
|
if [ "$interactive" = 1 ]
|
||||||
then
|
then
|
||||||
su -c ./initialize_database.sh "$POSTGRES_USER"
|
./initialize_database.sh
|
||||||
else
|
else
|
||||||
su -c ./initialize_database.sh "$POSTGRES_USER" > /dev/null 2>&1
|
./initialize_database.sh > /dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -84,17 +82,10 @@ echo "dbname=${db_name}" > "$cfg_pathname"
|
|||||||
|
|
||||||
if [ "$interactive" = 1 ]
|
if [ "$interactive" = 1 ]
|
||||||
then
|
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
|
||||||
echo " Departement $DEPT cree"
|
echo " Departement $DEPT cree"
|
||||||
echo
|
echo
|
||||||
echo " Attention: la base de donnees n'a pas de copies de sauvegarde"
|
echo " Attention: la base de donnees n'a pas de copies de sauvegarde"
|
||||||
echo
|
echo "(XXX section à revoir en ScoDoc 8.1)" # #sco8
|
||||||
fi
|
fi
|
||||||
|
@ -105,6 +105,11 @@ then
|
|||||||
yes | ufw enable
|
yes | ufw enable
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# --- POSTGRESQL
|
||||||
|
# --- Ensure postgres user "scodoc" ($POSTGRES_USER) exists
|
||||||
|
init_postgres_user
|
||||||
|
|
||||||
|
|
||||||
# --- XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX ---
|
# --- XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX XXX ---
|
||||||
echo
|
echo
|
||||||
echo "WARNING: version ScoDoc8 expérimentale"
|
echo "WARNING: version ScoDoc8 expérimentale"
|
||||||
|
Loading…
Reference in New Issue
Block a user