--- mcore-src/trunk/mcore-tools/src/modules/basic-system/system.control.class.in 2015/09/15 11:11:59 2531 +++ mcore-src/trunk/mcore-tools/src/modules/basic-system/system.control.class.in 2015/09/17 12:56:08 2581 @@ -1,5 +1,7 @@ # $Id$ +push_config 10_system_passwd + help_system_reboot() { local serial="${CLASS_ARGV[0]}" @@ -60,19 +62,32 @@ import_resource client_auth "${serial}" "${column}" "${pass}" } -control_system_passwd() +control_client_system_passwd() { local serial="${CLASS_ARGV[0]}" - local user="${CLASS_ARGV[1]}" + push_config_10_system_passwd "${serial}" +} + +push_config_10_system_passwd() +{ + local serial="$1" + local user local pass local column - case "${user}" in - root) column="root" ;; - ${MCORE_UNPRIV_USER}) column="user" ;; - *) echo "Unknown user '${user}', aborting"; return 1 ;; - esac - - pass=$(mysqldo "select ${column} from client_auth where serial='${serial}'") - control_client "${serial}" set system.passwd "${user}" "${pass}" + for user in root ${MCORE_UNPRIV_USER} + do + case "${user}" in + root) column="root" ;; + ${MCORE_UNPRIV_USER}) column="user" ;; + esac + + pass=$(mysqldo "select ${column} from client_auth where serial='${serial}'") + if [[ ${pass} = NULL ]] + then + decho "pass is 'NULL' for user '${user}', ignoring" + else + control_client "${serial}" set system.passwd "${user}" "${pass}" + fi + done }