# $Id$ push_firstboot 10_system_passwd push_config 10_system_passwd help_system_reboot() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" help system.reboot } control_system_reboot() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" set system.reboot } help_system_shutdown() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" help system.shutdown } control_system_shutdown() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" set system.shutdown } help_system_console() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" help system.console } control_system_console() { local serial="${CLASS_ARGV[0]}" local user="${CLASS_ARGV[1]}" control_client "${serial}" set system.console "${user}" } help_system_passwd() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" help system.passwd } set_system_passwd() { local serial="${CLASS_ARGV[0]}" local user="${CLASS_ARGV[1]}" local pass="${CLASS_ARGV[2]}" local column case "${user}" in root) column="root" ;; ${MCORE_UNPRIV_USER}) column="user" ;; *) echo "Unknown user '${user}', aborting"; return 1 ;; esac import_resource client_auth "${serial}" "${column}" "${pass}" } control_client_system_passwd() { local serial="${CLASS_ARGV[0]}" push_config_10_system_passwd "${serial}" } help_system_cmdline() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" help system.cmdline } get_system_cmdline() { local serial="${CLASS_ARGV[0]}" local variable="${CLASS_ARGV[1]}" control_client "${serial}" get system.cmdline "${variable}" } help_system_arch() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" help system.arch } get_system_arch() { local serial="${CLASS_ARGV[0]}" control_client "${serial}" get system.arch } push_config_10_system_passwd() { local serial="$1" local user local pass local column 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 } push_firstboot_10_system_passwd() { local serial="$1" local i local auth # now setup some empty database entries if the does not exist for i in user root do auth=$(mysqldo "select ${i} from client_auth where serial=${serial};") if [[ -z ${auth} ]] || [[ ${auth} = NULL ]] then decho "set empty ${i} pass" import_resource client_auth "${serial}" "${i}" "" fi done }