diff options
Diffstat (limited to 'tdecore/README.user_profiles')
-rw-r--r-- | tdecore/README.user_profiles | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/tdecore/README.user_profiles b/tdecore/README.user_profiles new file mode 100644 index 000000000..4fb43b757 --- /dev/null +++ b/tdecore/README.user_profiles @@ -0,0 +1,136 @@ +Users can be associated with Profile(s) +======================================= + +A user can be associated with one or more profiles. A profile indicates a +configuration set that applies to a group of users. Each profile has a name +to identify it. If a user is associated with more than one profile then the +order of the two profiles is important. Settings associated with one profile +could override the settings in the other profile, depending on the order. + + +Mapping profiles to users +========================= + +A mapping file determines which profile(s) should be used for which user. +The mapping file can be configured in /etc/kderc in the [Directories] group: + + [Directories] + userProfileMapFile=/etc/kde-user-profile + +Profiles can be mapped to individual users based on username, or profiles can +be mapped to groups of users based on the UNIX group(s) the users are part of. +(See man 1 groups) + + +Mapping profiles to individual users +==================================== + +The mapping file can contain a [Users] section for mapping profiles to +an individual user. The [Users] section contains the user's account name +followed by one or more profiles as follow: + + [Users] + bastian=developer + adrians=developer,packager + +The above example assigns to user "bastian" the profile "developer". To user +"adrians" it assigns the two profiles "developer" and "packager". The order +in which the profiles are listed makes a difference, settings in earlier +profiles overrule settings in profiles that are listed after it. In the above +case of user "adrians", wherever the "developer" and "packager" profiles contain +conflicting settings, the settings of the "developer" profile will take precedent. + +If a user has an entry under the [Users] section, this entry will determine all +profiles that are applicable to the user. The user will not be assigned any +additional profiles based on the groups the user is part of. + +Mapping profiles to user groups +=============================== + +If a user has no entry under the [Users] section in the mapping file, the profiles +that are applicable to the user will be based on the UNIX group(s) the user is +part of. + +The groups and the order in which the groups are considered is determined by +the following entry in the [General] section of the mapping file: + + [General] + groups=pkgs,devel + +Each of these groups should have an entry under the [Groups] section that defines +which profile(s) belongs to that group. This looks as follows: + + [Groups] + pkgs=packager + devel=developer + bofh=admin,packager,developer + +For each group that a user is part of, the corresponding profile(s) are used. The +order in which the groups are listed in the "groups" entry, determines the resulting +order of all the applicable profiles. If multiple profiles are applicable to a +particular user and a profile contains settings that conflict with settings in +another profile then the settings in the earlier listed profile take precedent. + +So if, based on the example above, a user is part of the "pkgs" group then the +"packager" profile will be used for that user. If the user is part of the "devel" +group then the "developer" profile will be used. Users that are part of the "bofh" +group will use the "admin", "packager" as well as the "developer" profile. In case +of conflict, settings in the "admin" profile will take precedent over settings +in the "packager" or "developer" profiles. + +If the user is part of both the "pkgs" and "devel" groups, then both the "packager" +and "developer" profiles will be used. In case of conflicting settings between the +two profiles, the "packager" profile will take precedent because the "pkgs" group +associated with the profile was listed before the "devel" group. + +The "groups" command can be used to see to which groups a user belongs: + + > groups coolo + coolo : users uucp dialout audio video cdrecording devel + +Note that in general only a few groups will have profiles associated with them. +In the example above only the "devel" group has a profile associated with it, +the other groups do not and will be ignored. + +If there is no profile defined for any of the groups that the user is in, the +user will be assigned the "default" profile. + + +The Profile determines the directory prefixes +============================================= + +The global KDE configuration file (e.g. kdeglobals or /etc/kderc) can +contain config-groups that are associated with a certain user profile. +Such a config-group is treated similar as the [Directories] config-group. + +The name of a such config-group is [Directories-<ProfileName>] + + +Integration with KIOSK Admin Tool +================================= + +The KIOSK Admin Tool uses /etc/kderc as source for all its profile +information. For this it uses the following keys in the +[Directories-<ProfileName>] config-group: + + # Short text describing this profile + ProfileDescription= + + # Files will be installed with the uid of this user + ProfileInstallUser= + +The KIOSK Admin Tool uses the first directory from the prefixes= entry +as default installation directory for this profile. + + +Default setting as example +========================== + +The following snipped could be added to /etc/kderc to define a "default" profile: + + [Directories-default] + ProfileDescription=Default profile + ProfileDescription[de]=Defaultprofiel + ProfileInstallUser=root + prefixes=/var/run/kde-profile/default + |