Guide to creating a new administrative user with admin privileges for various services. <> TODO: Write a create-admin-user script that does this all automatically (add it to the scripts git repo) `NAME` = Member's non-administrative username. All commands should be run from ServerGibran (or the current administrative server). == Basic Setup == Steps required to create a minimally functional admin user. === Creating the user === {{{ /afs/hcoop.net/common/etc/scripts/create-user-new NAME_admin sudo kadmin.local cpw NAME_admin # set randomly generated initial pw }}} The user will now exist in Kerberos, AFS, and DomTool but have no administrative permissions. === Administrative Email Lists === In `~hcoop/.domtool/hcoop.net` add the new admin users to the `admin_emails` list which will add them to the needed mail aliases to receive admin mail. Also add `emailAlias "NAME_admin" "NAME";` so administrative emails are forward to the admin's normal mail account. TODO: update AdminArea with list of lists that admins are expected to not ignore. === SSH Access, Sudo On Administrator-Only Servers, and Kerberos Admin === In Puppet, modify `modules/hcoop/manifests/init.pp` and add the new admin user to the `$admins` list. This will allow them to connect to all servers and have sudo which will also grant access to locally administered services like Postgres and MySQL. This also grants them kerberos administrator privileges. ''FIXME'': do we make that optional? MitKerberos admin powers are very broad, and perhaps not all admins will need them. === Puppet Environment === Create a puppet environment for the new admin as described in [[ConfigurationManagement#Personal_Environments]] which allows them to actually make changes to system configuration. '''All system changes are made through Puppet.''' === Portal Admin === On the [[https://members.hcoop.net/portal/groups|Portal Groups Management Page]] add the admin's member account to the `root` group. This enables full access to portal administrative features and allows the admin to view support requests. == Services == Although not strictly needed, the admin will not be able to handle all support requests without these. === DomTool Administrator === To grant full admin permissions: `domtool-admin grant NAME_admin priv all` [[DomTool/ArchitectureOverview#Standard_ACL_classes]] has a list of all valid values for `priv` which can be used instead of `all` if more limited administrative permissions are desired. === AFS Administrator === AFS administrative permissions are controlled by membership in the `system:administrators` group, so if a user is intended to have AFS admin privileges: `pts adduser NAME_admin system:administrators`. === Wiki administrator === Add new admin's wiki account to the list on AdminGroup ---- CategorySystemAdministration