At line 2 changed 4 lines |
;Groups: a logical way to organize user accounts, our term for an Organizational Unit equivalent, there is a separate __[wiki|Groups]__ on this |
;Inheritance: a way to automatically apply user settings from one user to another. The term roots in object oriented programming, there is a separate __[wiki|Inheritance]__ on this |
;Group Template account: inheritance parent or archtype account, that parents inheritance for a group of user accounts |
;VFS Linking: loosely related to inheritance, a pointer to a VFS directory of another user account, there is a separate __[wiki|VFS]__ on this |
;Groups: a logical way to organize user accounts, our term for an Organizational Unit equivalent. There is a separate __[wiki|Groups]__ on this |
;Inheritance: a way to automatically apply user settings from one user to another. The term roots in object oriented programming. There is a separate __[wiki|Inheritance]__ on this |
;Group Template account: inheritance parent or archetype account, that parents inheritance for a group of user accounts |
;VFS Linking: loosely related to inheritance, a pointer to a VFS directory of another user account, there is a separate __[wiki|VFS]__ on this\\ |
---- |
At line 7 changed one line |
An administrator can either be a full administrator who can access everything in the server prefs, and all users, or you can delegate administration allowing a limited administrator to create and manage users in their group, and assign folders that they themselves have access to.\\ |
An administrator can can delegate administration allowing a limited administrator to create and manage users in their group, and assign folders that they themselves have access to. We'd call this administrator a __Restricted Admin__ account.\\ |
At line 9 changed 2 lines |
[{Image src='admin_restricted_base.jpg' width='1200' height='..' align='left|center|right' style='..' class='..' }] |
|
First need to create a user __[Group|Groups]__ with the corresponding __Group Template__ account. This latter is to be assigned some top level __VFS__ directory under which the group member users will have their own working directories later on. The same VFS is to be granted to the Restricted Admin, these two settings together will confine both the admin and the group members under that directory, with no escalation possible. This only works for local files.\\ |
__11.2.2_10+__ Supports __[Connection Profiles]__ at User Manager too. Using Connection Profiles the Restricted Admin can assign remote locations to the group members.\\ |
[UserManagerAdminRestricted/group_template_user.png]\\ |
At line 14 added one line |
[UserManagerAdminRestricted/connection_profile_restricted_admin.png]\\ |
At line 13 changed 22 lines |
There are two different checkboxes. One for "Everything" and one for "Limited". If you enable the "Limited" checkbox, the user who logs in to do remote admin will only get the user manager interface. |
|
The user manager will only contain a list of users who are part of a group that you granted this administrator access to. |
|
So if test3 is a limited admin, there must be a group named "sub_admin" in my example. The sub_admin group should not have test3 as a member, or else test3 can edit themselves. |
|
There must also be a user named "sub_admin" which has a [VFS] with the folders you want the admin to be able to work with. |
|
[attachments|limited_group.png] |
|
Security is enforced when the admin goes to save a change to a user. The server verifies any change the remote admin submits. |
|
1.) If the user is not a member of the group, the change is rejected. |
|
2.) If the home folders being specified are not a sub folder of the home directory that the group user can access, the change is rejected. |
|
3.) If the change involves adding an event to a user that specifies a "plugin" action, the change is rejected. |
|
4.) Other admin escalation permissions are denied too. |
|
These are done to enforce security and prevent privilege escalation. Any attempted violation of these is logged in the server log for audit purposes. |
|
Then grant the admin on the __Setup Roles__ panel the __Remote User Only Administration (Limited)__ role permission, the __group name__ to administer, and eventually restrict the admin roles even further on the __Setup Permissions ( limited admin only)__ panel.\\ |
\\ |
%%tabbedSection |
%%tab-SetupRolesAndGroups |
tab [{Image src='admin_restricted_base.jpg' width='1440' height='..' align='left' style='..' class='..' }] |
/% |
%%tab-RolesPanel |
tab [{Image src='admin_restricted_roles.jpg' width='..' height='480' align='center' style='..' class='..' }] |
/% |
%%tab-PermissionsPanel |
tab [{Image src='admin_restricted_permissions.jpg' width='..' height='480' align='center' style='..' class='..' }] |
/% |
/% |
\\ |
In CrushFTP __v10__ we now support multiple groups for the same admin. Each group has to have designated it's own Group Template account, and the VFS directories assigned to these need also to be granted to the Restricted Admin, or this latter to be pointed to an upper-level directory.\\ |
With the Restricted Admin scenario functional:\\ |
1.) If the user is not a member of the group, the change is rejected.\\ |
2.) If the home folders being specified are not a subfolder of the home directory that the group user can access, the change is rejected.\\ |
3.) If the change involves adding an event to a user that specifies a "plugin" action, the change is rejected.\\ |
4.) Other admin escalation permissions are denied too.\\ |
These are done to enforce security and prevent privilege escalation. Any attempted violation is logged in the server log for audit purposes.\\ |
At line 36 changed 3 lines |
Finally the view from a limited admin when they login. |
|
[attachments|limited_view.png] |
Finally, the view from a limited admin when they log in. Please note the group selector in the top-center area.\\ |
\\ |
[{Image src='admin_restricted_view.jpg' width='1440' height='..' align='left|center|right' style='..' class='..' }] |
\\ |
These are done to enforce security and prevent privilege escalation.\\ |
\\ |