Browse Source

kamctl: added option to grant sql access from a remote host

- set DBACCESSHOST in kamctlrc
Daniel-Constantin Mierla 12 years ago
parent
commit
9a1d64bddb
2 changed files with 24 additions and 3 deletions
  1. 6 3
      utils/kamctl/kamctlrc
  2. 18 0
      utils/kamctl/kamdbctl.mysql

+ 6 - 3
utils/kamctl/kamctlrc

@@ -29,16 +29,19 @@
 # DB_PATH="/usr/local/etc/kamailio/dbtext"
 
 ## database read/write user
-# DBRWUSER=kamailio
+# DBRWUSER="kamailio"
 
 ## password for database read/write user
 # DBRWPW="kamailiorw"
 
 ## database read only user
-# DBROUSER=kamailioro
+# DBROUSER="kamailioro"
 
 ## password for database read only user
-# DBROPW=kamailioro
+# DBROPW="kamailioro"
+
+## database access host (from where is kamctl used)
+# DBACCESSHOST=192.168.0.1
 
 ## database super user (for ORACLE this is 'scheme-creator' user)
 # DBROOTUSER="root"

+ 18 - 0
utils/kamctl/kamdbctl.mysql

@@ -170,6 +170,15 @@ kamailio_db_grant () # pars: <database name>
 			exit 1
 		fi
 	fi
+
+	if [ ! -z "$DBACCESSHOST" ] ; then
+		sql_query "" "GRANT ALL PRIVILEGES ON $1.* TO '$DBRWUSER'@'$DBACCESSHOST' IDENTIFIED  BY '$DBRWPW';
+			GRANT SELECT ON $1.* TO '$DBROUSER'@'$DBACCESSHOST' IDENTIFIED BY '$DBROPW';"
+		if [ $? -ne 0 ] ; then
+			merr "granting access host privileges to database $1 failed!"
+			exit 1
+		fi
+	fi
 }
 
 kamailio_db_revoke () # pars: <database name>
@@ -198,6 +207,15 @@ kamailio_db_revoke () # pars: <database name>
 			exit 1
 		fi
 	fi
+
+	if [ ! -z "$DBACCESSHOST" ] ; then
+		sql_query "" "REVOKE ALL PRIVILEGES ON $1.* FROM '$DBRWUSER'@'$DBACCESSHOST';
+			REVOKE SELECT ON $1.* FROM '$DBROUSER'@'$DBACCESSHOST';"
+		if [ $? -ne 0 ] ; then
+			merr "granting access host privileges to database $1 failed!"
+			exit 1
+		fi
+	fi
 }