YaST/Tips/Custom Modules/Users configuration

From openSUSE

/**
 * File:	clients/inst_linkat-default-users.ycp
 * Package:	installation
 * Summary:	Configure default users argo and alumn-01
 * Authors:	Jordi Massaguer Pla <jordi.massaguer@opentrends.net>
 * Copyright (c) 2007 Departament d'Educació de la Generalitat de Catalunya
 *
 *
 */

{
    textdomain "installation";

    SCR::Execute (.target.bash, "/usr/sbin/useradd argo -u 501 -m -d /usr/share/argo -p \"\" -c \"Usuari local 'argo'\" > /var/log/inst_linkat-default-users.log 2>&1");
    y2milestone("added argo user. For details see log /var/log/inst_linkat-default-users.log");	
    SCR::Execute (.target.bash, "/usr/sbin/useradd alumn-01 -u 502 -m -d /usr/share/alumn-01 -p \"\" -c \"Usuari local 'alumn-01'\" > /var/log/inst_linkat-default-users.log 2>&1");
    y2milestone("added alumn-01 user. For details see log /var/log/inst_linkat-default-users.log");	

    return `next;
}

Now, more YaST-ish variant ;-). For the usage of YaPI::USERS module, see /usr/share/doc/packages/yast2-users/autodocs/YaPI-USERS.html

/**
 * File:	add_user_with_YaPI.ycp
 */
{
    import "YaPI::USERS";
    map<string,any> data_map    = $[
        "uid"           : "argo",
        "userpassword"  : "",
        "homedirectory" : "/usr/share/argo",
        "cn"            : "Usuari local 'argo'"
    ];
    string error = YaPI::USERS::UserAdd ($[], data_map);
    if (error != "")
        y2error ("error creating user: %1", error);
}