ACC SHELL

Path : /usr/share/YaST2/include/users/
File Upload :
Current File : //usr/share/YaST2/include/users/helps.ycp

/**
 *
 * File:	include/users/helps.ycp
 * Package:	Configuration of users and groups
 * Summary:	Helptext for the users module
 * Authors:	Johannes Buchhold <jbuch@suse.de>,
 *		Jiri Suchomel <jsuchome@suse.cz>
 *
 * $Id: helps.ycp 50508 2008-09-01 08:23:27Z jsuchome $
 *
 */
{
  textdomain "users";

  import "Label";
  import "Ldap";
  import "Stage";
  import "Users";
  import "UsersCache";
  import "UsersLDAP";
  import "UsersRoutines";


  /**
   * Password help text.
   * @param type user type
   * @return string help text
   */
  define string help_password (string type)``{
    string password_length = "";
    map enc_to_string = $[
	// encryption type
	"des" :	_("DES"),
	// encryption type
	"crypt" :_("DES"),
	// encryption type
	"md5" :	_("MD5"),
	// encryption type
	"blowfish" : _("Blowfish")
    ];
    string method = Users::EncryptionMethod ();
    if (type == "ldap")
	method = UsersLDAP::GetEncryption ();

	// help text 1/4
    string help_text =  _("<p>
When entering a password, distinguish between uppercase and
lowercase. Passwords should not contain any accented characters or umlauts. 
</p>
");

    // help text 2/4 %1 is encryption type, %2,%3 numbers
    help_text = help_text + sformat(_("<p>
With the current password encryption (%1), the password length should be between
 %2 and %3 characters.
</p>"), enc_to_string[method]:method,
	Users::GetMinPasswordLength (type), Users::GetMaxPasswordLength (type));

    help_text = help_text + Users::ValidPasswordHelptext ();

    //help text 4/4
    help_text = help_text + _("<p>
To ensure that the password was entered correctly,
repeat it exactly in a second field. Do not forget your password.
</p>
");
    return help_text;

  }

     /**
     * @return string The help text.
     */
    define string DefaultsDialogHelp () ``{
// Help text 0/6
      return _("<p>
Here, set default values to use when creating new local or system users.
</p>
") +
// Help text 1/6
      _("<p>
<b>Default Group</b><br>
The group name of a new user's primary group.
</p>
")
+
// Help text 1.5/6
      _("<p>
<b>Secondary Groups</b><br>
Names of additional groups to which to assign new users.
</p>
")
+
// Help text 2/6
_("<p><b>Default Login Shell</b><br>
The name of the new user's login shell. Select one from the list or enter your own path to the shell.</P>
")
+
//Help text 3/6
_("<p><b>Default Home</b><br>
The initial path prefix for a new user's home directory. The username is added
to the end of this value to create the default name of the home directory.
</P>
")
+
// Help text 4/6
_("<p><b>Skeleton Directory</b><br>
The contents of this directory are copied to a user's home directory when a new user is added. </p>
")
+

// Help text 4.5/6
_("<p><b>Umask for Home Directory</b><br>
Umask which is used for creating new home directories.</p>
") +

// Help text 5/6:
// Don't reorder letters YYYY-MM-DD, date must be set in this format
_("<p><b>Expiration Date</b><br>
The date on which the user account is disabled. The date must be in the format
YYYY-MM-DD. Leave it empty if this account never expires.</P>
")
+
// Help text 6/6
_("<P><B>Days after Password Expiration Login Is Usable</B><BR>
Users can log in after expiration of passwords. Set how many days 
after expiration login is allowed. Use -1 for unlimited access.
</P>
");

}


     /**
     * Help for the ReadDialog () dialog.
     * @return string The help text.
     */
    define string ReadDialogHelp () ``{
	return
	    // For translators: read dialog help, part 1 of 2
_("<P><B><BIG>Initializing User Management</BIG></B><BR>
Please wait...
<BR></P>
") +
	    // For translators: read dialog help, part 2 of 2
_("<P><B><BIG>Aborting the Initialization</BIG></B><BR>
You can safely abort the configuration utility by pressing <B>Abort</B>
now.
</P>");
    }

     /**
     * Help for the WriteDialog () dialog.
     * @return string The help text.
     */
    define string WriteDialogHelp () ``{
    return
	    // For translators: read dialog help, part 1 of 2
_("<P><B><BIG>Saving User Configuration</BIG></B><BR>
Please wait...
<BR></P>
") +
	    // For translators: read dialog help, part 2 of 2
_("<P><B><BIG>Aborting the Save Process:</BIG></B><BR>
Abort the save process by pressing <B>Abort</B>.
An additional dialog will inform you whether it is safe to do so.
</P>
");
 }


  /**
   * Help for EditUserDialog.
   * @param mail if checkbox for mail forwarding should be included
   * @param type type of user created
   * @return string help text
   */
  define string EditUserDialogHelp(boolean mail, string type, string what) ``{

    string help = "";
    if (type == "ldap")
    {
	// help text 1/7
	help = _("<p>
Enter the <b>First Name</b>, <b>Last Name</b>, 
<b>Username</b>, and
<b>Password</b> to assign to this user.
</p>
");
    }
    else
    {
	// alternative help text 1/7
	help = _("<p>
Enter the <b>User's Full Name</b>, <b>Username</b>, and <b>Password</b> to
assign to this user account.
</p>
");
    }

    help = help + help_password(type);

    if (what == "add_user")
    {
	help = help +
	// help text 2/7
	_("<p>
Create the <b>Username</b> from components of the full name by
clicking <b>Suggestion</b>. It may be modified, but use only
letters (no accented characters), digits, and <tt>._-</tt>.
Do not use uppercase letters in this entry unless you know what you are doing.
Usernames have stricter restrictions than passwords. You can redefine the
restrictions in the /etc/login.defs file. Read its man page for information.
</p>
");
    }
    else
    {
	help = help +
	// alternative help text 2/7
	_("<p>
For the <b>Username</b>, use only
letters (no accented characters), digits, and <tt>._-</tt>.
Do not use uppercase letters in this entry unless you know what you are doing.
Usernames have stricter restrictions than passwords. You can redefine the
restrictions in the /etc/login.defs file.  Read its man page for information.
</p>
");
    }

    if (mail) // these are used only during installation time
    {
	// help text 4/7 (only during installation)
	help = help + _("<p>
The username and password created here are needed to log in and work with your Linux system. With <b>Automatic Login</b> enabled, the login procedure is skipped. This user is logged in automatically.</p>
") +

        // help text 5/7 (only during installation)
        _("<p>
Have mail for root forwarded to this user by checking <b>Receive System Mail</b>.</p>
") +

	// help text 6/7 (only during installation)
        _("<p>Press <b>User Management</b> to add more users or groups to your system.</p>");
    }
    else
    {
	// alternative help text 4/7
	help = help + _("<p>
To see more details, such as the home directory or the user ID, click
<b>Details</b>.
</p>
") +

	// alternative help text 5/7
	_("<p>
To edit various password settings of this user, such as expiration date, click <b>Password Settings</b>.</p>
");
    }

    if (!mail && type != "nis")
    {
	// help text 7/7
	help = help + _("<p>To forbid this user to
log in, check <b>Disable User Login</b>.</p>");
    }
    return help;
  }




  /**
   * Help for EditGroupDialog.
   * @param more if the widget with more_users will be shown
   * @return string help text
   */
  define string EditGroupDialogHelp(boolean more) ``{
	// help text 1/6
      string helptext = _("<p>
Enter the group data here.   
</p>
") +

	// help text 2/6
		_("<p>
<b>Group Name:</b>
Avoid long names for groups. Normal lengths are between 
two and eight characters.  
You can redefine the list of characters allowed for group names in
the /etc/login.defs file. Read its man page for information.
</p>
") +
	// help text 3/6, %1 is number
		sformat(_("<p>
<b>Group ID (gid):</b>
In addition to its name, a group must be assigned a numerical ID for its
internal representation. These values are between 0 and
%1. Some of the IDs are already assigned during installation. You will be
warned if you try to use an already set one.
</p>
"), UsersCache::GetMaxGID ("local")) +
	// help text 4/6
		_("<p>
<b>Password:</b>
To require users who are not members of the group to identify themselves when
switching to this group (see the man page of <tt>newgrp</tt>), assign a
password to this group. For security reasons, this password is not shown
here. This entry is not required.
</p>
") +
	// help text 5/6
		_("<p>
<b>Confirm Password:</b>
Enter the password a second time to avoid typing errors.
</p>
") +
	// help text 6/6
		_("<p>
<b>Group Members:</b>
Here, select which users should be members of this group.
</p>
");

    if (more)
        helptext = helptext +
        // additional helptext for EditFroup dialog
        _("The second list shows users for which this group is the default
        group. The default group can only be changed by editing the user.");

    return helptext;
  }


  /**
   * Help for EditUserDetailsDialog.
   * @param user_type type of edited user (local/system/ldap/nis)
   * @param what what to do with a user (add_user/edit_user)
   * @return string help text
   */
  define string EditUserDetailsDialogHelp(string user_type, string what) {

	// help text 1/8
    string helptext = _("<p>
Additional user data includes:
</p>") +
	// help text 2/8, %1 is number
		sformat(_("<p>
<b>User ID (uid):</b>
Each user is known to the system by a unique number,
the user ID. For normal users, you should use
a UID larger than %1 because the smaller UIDs are used
by the system for special purposes and pseudo logins.
</p>
"), UsersCache::GetMaxUID ("system") ) +

	// help text 3/8
 _("<p>
If you change the UID of an existing user, the rights of the files
this user owns must be changed. This is done automatically
for the files in the user's home directory, but not for files 
located elsewhere.</p>
") +

	// help text 4/8
	_("<p>
<b>Home Directory:</b>
The home directory of the user. Normally this is
/home/username. 
To select an existing directory, click <b>Browse</b>.
</p>
");
    if (what == "add_user")
    {
	// help text for user's home directory mode
	helptext = helptext + _("<p>Optionally, set the <b>Home Directory Permission Mode</b> for this user's home directory different from the default.</p>");

	map defaults        = Users::GetLoginDefaults ();
        helptext = helptext +
	// alternate helptext 4.5/8; %1 is directory (e.g. '/etc/skel')
	sformat (_("<p>To create only an empty home directory,
check <b>Empty Home</b>. Otherwise, the new home directory
is created from the default skeleton (%1).</p>
"), defaults["skel"]:"");

    }
    else
    {
	// help text for Move to new location checkbox
	helptext = helptext + _("<p>If changing the location of a user's home directory, move the contents of the current directory with <b>Move to New Location</b>, activated by default. Otherwise a new home directory is created without any of the existing data.</p>");
    }

    if ((user_type == "system" || user_type == "local") ||
        (user_type == "ldap" && Ldap::file_server))
    {
	if (UsersRoutines::CryptedHomesEnabled ())
	{
	    // help text for directory encryption
	    helptext = helptext + _("<p>To encrypt the user's home directory, enable <b>Use Encrypted Home Directory</b> and set the directory size. Encrypting a user's home directory does not provide strong security from other users. If this machine is shared among multiple users, it may be possible for a user to compromise system security, obtain another user's key, and gain access to the encrypted data. If strong security is required, the system should not be physically shared.</p>");
	}
	else
	{
	    // help text for directory encryption
	    helptext = helptext + _("<p>Home directories cannot be encrypted when fingerprint reader device is used. To encrypt the user's home directory, disable fingerprint configuration first.</p>");
	}
    }

    if (user_type == "ldap")
        helptext = helptext +
    // alternate helptext 5/8
    _("<p>
The home directory of an LDAP user can be changed only on the
file server.</p>");

    else if (user_type == "system" || user_type == "local")
        helptext = helptext +
    // alternate helptext 5/8
    _("<p><b>Additional Information:</b>
Some additional user data could be set here. This field may contain up to
three parts, separated by commas. The standard usage is to write
<i>office</i>,<i>work phone</i>,<i>home phone</i>. This information is 
shown when you use the <i>finger</i> command on this user.</p>
");

	// help text 6/8
	helptext = helptext + _("<p>
<b>Login Shell:</b>
The login shell (command interpreter) for the user.
Select a shell from the list of all shells installed
on your system.
</p>") +

	// help text 7/8
		_("<p>
<b>Default Group:</b>
The primary group to which the user belongs. Select one group
from the list of all groups existing on your system.
</p>") +
	// help text 8/8
		_("<p>
<b>Additional Groups:</b>
Select the additional groups in which the user should be a member.
</p>
");
    return helptext;
  }

  /**
   * help text for dualogs with plugins
   */
  define string PluginDialogHelp () {

    // helptxt for plugin dialog 1/2
    return _("<p>Here, see the list of plug-ins, the
extensions of user and group configuration.</p>
") +

    // helptext for plugin dialog 2/3
    _("The check mark in the left part of the table indicates that the plug-in
is currently in use.") +

    // helptext for plugin dialog 3/3
    _("<p>Start the detailed configuration of a particular plug-in by selecting <b>Launch</b>.</p>");
  }


  /**
   * Help for usersSave.
   * @return string help text
   */
  define string usersSaveDialogHelp() ``{
	// help texts 1/1
      return _("<p>
Save the current user and group settings to the system.
</p>");

  }

  /**
   * Help for editing password settings
   * @return string help text
   */
  define string  EditUserPasswordDialogHelp() ``{
    // Help text 1/6
    return _("<p>Activate <b>Force Password Change</b> to force user to change the password at the next login. If <b>Last Password Change</b> is set to <i>Never</i>, user will be forced to change the password.</p>") +

// Help text 2/6
_("<p>
<b>Days before Password Expiration to Issue Warning</B><BR>
Users can be warned before their passwords expire. Set 
how long before expiration the warning should be issued. Set -1 to disable
the warning. 
</p>
")
+
// Help text 3/6
_("<P><B>Days after Password Expires with Usable Login</B><BR>
Users can log in after their passwords have expired. Set how many days to
allow login. Use -1 for unlimited access.
</P>
")
+
//Help text 4/6
_("<P><B>Maximum Number of Days for the Same Password</B><BR>Set how many days a user 
can use the same password before it expires.</P>
")
+
// Help text 5/6
_("<P><B>Minimum Number of Days for the Same Password</B><BR>Set the minimum age of 
a password before a user is allowed to change it.</P>
")
+
// Help text 6/6 : Don't reorder letters YYYY-MM-DD, date must be set in this format
_("<P><B>Expiration Date</B><BR>Set the date when this account expires. 
The date must be in the format YYYY-MM-DD. 
Leave it empty if this account never expires.</P>
");
  }

define string AuthentizationDialogHelp() ``{

    string help_text =
    // help text 1/2
    _("<p>
<b>Configuration Overview</b><br>
Here, see a summary of modules that could affect sources
of user accounts or authentication type.
</p>
") +
    // help text 2/2
    _("<p>
<b>Changing the Values</b><br>
You can configure these settings by running appropriate modules. Select the module with <b>Configure</b>.
</p>
");

    return help_text;
}

}// EOF

ACC SHELL 2018