X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/68d797e9baea9dac27d01e768ee3d860c61d8927..e140629ff492a6440c7b0d892d27ed443a2f9cd9:/src/plugins/domtool-mysql diff --git a/src/plugins/domtool-mysql b/src/plugins/domtool-mysql index c7aac5f..b3690ff 100755 --- a/src/plugins/domtool-mysql +++ b/src/plugins/domtool-mysql @@ -1,28 +1,27 @@ #!/bin/bash -e +WHERE="'%.hcoop.net'" + case $1 in adduser) USERNAME=$2 PASSWORD=$3 - sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD';" + sudo -H mysql -e "CREATE USER '$USERNAME'@$WHERE IDENTIFIED BY '$PASSWORD';" ;; passwd) USERNAME=$2 PASSWORD=$3 - sudo -H mysql -e "SET PASSWORD FOR '$USERNAME'@'localhost' = PASSWORD('$PASSWORD');" + sudo -H mysql -e "SET PASSWORD FOR '$USERNAME'@$WHERE = PASSWORD('$PASSWORD');" ;; createdb) USERNAME=$2 DBNAME_BASE=$3 DBNAME="${USERNAME}_${DBNAME_BASE}" - DIR=/afs/hcoop.net/common/databases/${USERNAME:0:1}/${USERNAME:0:2}/$USERNAME/mysql - - kinit -k -t /etc/keytabs/root.admin.keytab root/admin - aklog + DIR=/srv/databases/${USERNAME:0:1}/${USERNAME:0:2}/$USERNAME/mysql if [ ! -d $DIR ]; then echo WARNING: $DIR must already exist! @@ -32,12 +31,29 @@ case $1 in chown mysql:mysql $DIR/$DBNAME chmod 770 $DIR/$DBNAME ln -sf $DIR/$DBNAME /var/lib/mysql/$DBNAME - fs setacl -dir $DIR/$DBNAME/ -acl system:mysql all + chmod g+rw -R $DIR/$DBNAME/ + sudo -H mysql -e "GRANT CREATE,CREATE TEMPORARY TABLES,SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE VIEW,SHOW VIEW,LOCK TABLES,GRANT OPTION ON TABLE * TO '$USERNAME'@$WHERE;" $DBNAME - sudo -H mysql -e "GRANT CREATE,SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE VIEW,SHOW VIEW,GRANT OPTION ON TABLE * TO '$USERNAME'@'localhost';" $DBNAME sudo -H mysql -e "FLUSH PRIVILEGES;" ;; + + dropdb) + USERNAME=$2 + DBNAME_BASE=$3 + DBNAME="${USERNAME}_${DBNAME_BASE}" + + sudo -H mysql -e "DROP DATABASE $DBNAME;" + ;; + + grant) + USERNAME=$2 + DBNAME_BASE=$3 + DBNAME="${USERNAME}_${DBNAME_BASE}" + + sudo -H mysql -e "GRANT CREATE,SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE VIEW,SHOW VIEW,LOCK TABLES,GRANT OPTION ON TABLE * TO '$USERNAME'@$WHERE;" $DBNAME + ;; + *) - echo "Usage: domtool-mysql [adduser | passwd | createdb ]" + echo "Usage: domtool-mysql [adduser | passwd | createdb | dropdb | grant ]" ;; esac