X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/c773e9e407c59af01faf289e348ef8e81b94b507..7b0b04403d80589743acbad228cd7dc5c616c33f:/src/plugins/domtool-mysql diff --git a/src/plugins/domtool-mysql b/src/plugins/domtool-mysql index fdc6bc7..5873ec9 100755 --- a/src/plugins/domtool-mysql +++ b/src/plugins/domtool-mysql @@ -4,18 +4,40 @@ case $1 in adduser) USERNAME=$2 PASSWORD=$3 + kinit -k -t /etc/keytabs/root.admin.keytab root/admin aklog + vos create -server afs -partition a -name db.$USERNAME -maxquota 5000 fs mkmount -dir /afs/.hcoop.net/common/.databases/$USERNAME -vol db.$USERNAME -rw + vos release common.databases fs setacl -dir /afs/hcoop.net/common/databases/$USERNAME -acl databases l fs setacl -dir /afs/hcoop.net/common/databases/$USERNAME -acl system:backup rl - sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD'" + sudo -H mysql -e "CREATE USER '$USERNAME'@'localhost' IDENTIFIED BY '$PASSWORD';" ;; createdb) - echo "I would create MySQL table $2_$3 for user $2." + USERNAME=$2 + DBNAME_BASE=$3 + DBNAME="${USERNAME}_${DBNAME_BASE}" + DIR=/afs/hcoop.net/common/databases/$USERNAME/mysql + + kinit -k -t /etc/keytabs/root.admin.keytab root/admin + aklog + + mkdir -p $DIR + fs setacl -dir $DIR -acl mysql rlid + fs setacl -dir $DIR -acl databases none + fs setacl -dir $DIR -acl system:backup rl + mkdir $DIR/$DBNAME || exit + chown mysql:mysql $DIR/$DBNAME + chmod 770 $DIR/$DBNAME + ln -sf $DIR/$DBNAME /var/lib/mysql/$DBNAME + fs setacl -dir $DIR/$DBNAME/ -acl mysql all + + sudo -H mysql -e "GRANT CREATE,DROP,SELECT,INSERT,UPDATE,DELETE,INDEX,ALTER,CREATE VIEW,SHOW VIEW,GRANT OPTION ON * TO '$USERNAME'@'localhost';" $DBNAME + sudo -H mysql -e "FLUSH PRIVILEGES;" ;; *) - echo "Usage: domtool-mysql [adduser | createdb ]" + echo "Usage: domtool-mysql [adduser | createdb
]" ;; esac