Create User Profiles and Assign Privileges

To provide controlled access to the System Admin configurations on the Cisco NCS 6008 router, user profiles are created with assigned privileges. The privileges are specified using command rules and data rules. The authentication, authorization, and accounting (aaa) commands are used in the System Admin Config mode for the creation of users, groups, command rules, and data rules. The "aaa" commands are also used for changing the disaster-recovery password.

Note

You cannot configure the external AAA server and services from the System Admin VM. It can be configured only from the XR VM.



Note

If any user on XR is deleted, the local database checks whether there is a first user on System Admin VM.

  • If there is a first user, no syncing occurs.

  • If there is no first user, then the first user on XR (based on the order of creation) is synced to System Admin VM.


For more information on AAA services, see Configuring AAA Services chapter in System Security Configuration Guide for Cisco NCS 6000 Series Routers

Users are authenticated using username and password. Authenticated users are entitled to execute commands and access data elements based on the command rules and data rules that are created and applied to user groups. All users who are part of a user group have such access privileges to the system as defined in the command rules and data rules for that user group.

The workflow for creating user profile is represented in this flow chart:
Figure 1. Workflow for Creating User Profiles



Note

The root-lr user, created for the XR VM during initial router start-up, is mapped to the root-system user for the System Admin VM. The root-system user has superuser permissions for the System Admin VM and therefore has no access restrictions.


Use the show run aaa command in the System Admin Config mode to view existing aaa configurations.

The topics covered in this chapter are:

Create a User Profile

Create new users for the System Admin VM. Users are included in a user group and assigned certain privileges. The users have restricted access to the commands and configurations in the System Admin VM console, based on assigned privileges.

The router supports a maximum of 1024 user profiles.


Note

Users created in the System Admin VM are different from the ones created in XR VM. As a result, the username and password of a System Admin VM user cannot be used to access the XR VM, and vice versa.


The root-lr user of XR VM can access the System Admin VM by entering Admin command in the XR EXEC mode. The router does not prompt you to enter any username and password. The XR VM root-lr user is provided full access to the System Admin VM.

If you access the System Admin VM by directly connecting to the System Admin VM console port or System Admin VM management port, you will be prompted to enter the System Admin username and password that is created in this task.

SUMMARY STEPS

  1. admin
  2. config
  3. aaa authentication users user user_name
  4. password password
  5. uid user_id_value
  6. gid group_id_value
  7. ssh_keydir ssh_keydir
  8. homedir homedir
  9. commit

DETAILED STEPS


Step 1

admin

Example:


RP/0/RP0/CPU0:router# admin 

Enters System Admin EXEC mode.

Step 2

config

Example:

sysadmin-vm:0_RP0#config

Enters System Admin Config mode.

Step 3

aaa authentication users user user_name

Example:

sysadmin-vm:0_RP0(config)#aaa authentication users user us1

Creates a new user and enters user configuration mode. In the example, the user "us1" is created.

Step 4

password password

Example:

sysadmin-vm:0_RP0(config-user-us1)#password pwd1

Enter the password that will be used for user authentication at the time of login into System Admin VM.

Step 5

uid user_id_value

Example:

sysadmin-vm:0_RP0(config-user-us1)#uid 100

Specify a numeric value. You can enter any 32 bit integer.

Step 6

gid group_id_value

Example:

sysadmin-vm:0_RP0(config-user-us1)#gid 50

Specify a numeric value. You can enter any 32 bit integer.

Step 7

ssh_keydir ssh_keydir

Example:

sysadmin-vm:0_RP0(config-user-us1)#ssh_keydir dir1

Specify any alphanumeric value.

Step 8

homedir homedir

Example:

sysadmin-vm:0_RP0(config-user-us1)#homedir dir2

Specify any alphanumeric value.

Step 9

commit


What to do next

Create a User Group

Create a new user group to associate command rules and data rules with it. The command rules and data rules are enforced on all users that are part of the user group.

The router supports a maximum of 32 user groups.

Before you begin

Create a user profile. See Create a User Profile.

SUMMARY STEPS

  1. admin
  2. config
  3. aaa authentication groups group group_name
  4. users user_name
  5. gid group_id_value
  6. commit

DETAILED STEPS


Step 1

admin

Example:


RP/0/RP0/CPU0:router# admin 

Enters System Admin EXEC mode.

Step 2

config

Example:

sysadmin-vm:0_RP0#config

Enters System Admin Config mode.

Step 3

aaa authentication groups group group_name

Example:

sysadmin-vm:0_RP0(config)#aaa authentication groups group gr1

Creates a new user group (if it is not already present) and enters the group configuration mode. In this example, the user group "gr1" is created.

Note 

By default, the user group "root-system" is created by the system at the time of root user creation. The root user is part of this user group. Users added to this group will get root user permissions.

Step 4

users user_name

Example:

sysadmin-vm:0_RP0(config-group-gr1)#users us1

Specify the name of the user that should be part of the user group.

You can specify multiple user names enclosed withing double quotes. For example, users "user1 user2 ..." .

Step 5

gid group_id_value

Example:

sysadmin-vm:0_RP0(config-group-gr1)#gid 50

Specify a numeric value. You can enter any 32 bit integer.

Step 6

commit


What to do next

Create Command Rules

Command rules are rules based on which users of a user group are either permitted or denied the use of certain commands. Command rules are associated to a user group and get applied to all users who are part of the user group.

A command rule is created by specifying whether an operation is permitted, or denied, on a command. This table lists possible operation and permission combinations:
Operation Accept Permission Reject Permission
Read (R) Command is displayed on the CLI when "?" is used. Command is not displayed on the CLI when "?" is used.
Execute (X) Command can be executed from the CLI. Command cannot be executed from the CLI.
Read and execute (RX) Command is visible on the CLI and can be executed. Command is neither visible nor executable from the CLI.

By default, all permissions are set to Reject .

Each command rule is identified by a number associated with it. When multiple command rules are applied to a user group, the command rule with a lower number takes precedence. For example, cmdrule 5 permits read access, while cmdrule10 rejects read access. When both these command rules are applied to the same user group, the user in this group gets read access because cmdrule 5 takes precedence.

As an example, in this task, the command rule is created to deny read and execute permissions for the "show platform" command.

Before you begin

Create an user group. See Create a User Group.

SUMMARY STEPS

  1. admin
  2. config
  3. aaa authorization cmdrules cmdrule command_rule_number
  4. command command_name
  5. ops {r | x | rx}
  6. action { accept | accept_log | reject}
  7. group user_group_name
  8. context connection_type
  9. commit

DETAILED STEPS


Step 1

admin

Example:


RP/0/RP0/CPU0:router# admin 

Enters System Admin EXEC mode.

Step 2

config

Example:

sysadmin-vm:0_RP0#config

Enters System Admin Config mode.

Step 3

aaa authorization cmdrules cmdrule command_rule_number

Example:

sysadmin-vm:0_RP0(config)#aaa authorization cmdrules cmdrule 1100

Specify a numeric value as the command rule number. You can enter a 32 bit integer.

Important 
Do no use numbers between 1 to 1000 because they are reserved by Cisco.

This command creates a new command rule (if it is not already present) and enters the command rule configuration mode. In the example, command rule "1100" is created.

Note 

By default "cmdrule 1" is created by the system when the root-system user is created. This command rule provides "accept" permission to "read" and "execute" operations for all commands. Therefore, the root user has no restrictions imposed on it, unless "cmdrule 1" is modified.

Step 4

command command_name

Example:

sysadmin-vm:0_RP0(config-cmdrule-1100)#command "show platform"

Specify the command for which permission is to be controlled.

If you enter an asterisk '*' for command , it indicates that the command rule is applicable to all commands.

Step 5

ops {r | x | rx}

Example:

sysadmin-vm:0_RP0(config-cmdrule-1100)#ops rx

Specify the operation for which permission has to be specified:

  • r — Read

  • x — Execute

  • rx — Read and execute

Step 6

action { accept | accept_log | reject}

Example:

sysadmin-vm:0_RP0(config-cmdrule-1100)#action reject

Specify whether users are permitted or denied the use of the operation.

  • accept — users are permitted to perform the operation

  • accept_log — users are permitted to perform the operation and every access attempt is logged.

  • reject — users are restricted from performing the operation.

Step 7

group user_group_name

Example:

sysadmin-vm:0_RP0(config-cmdrule-1100)#group gr1

Specify the user group on which the command rule is applied.

Step 8

context connection_type

Example:

sysadmin-vm:0_RP0(config-cmdrule-1100)#context *

Specify the type of connection to which this rule applies. The connection type can be netconf (Network Configuration Protocol), cli (Command Line Interface), or xml (Extensible Markup Language). It is recommended that you enter an asterisk '*'; this indicates that the command rule applies to all connection types.

Step 9

commit


What to do next

Create data rules. See Create Data Rules.

Create Data Rules

Data rules are rules based on which users of the user group are either permitted, or denied, accessing and modifying configuration data elements. The data rules are associated to a user group. The data rules get applied to all users who are part of the user group.

Each data rule is identified by a number associated to it. When multiple data rules are applied to a user group, the data rule with a lower number takes precedence.

Before you begin

Create an user group. See Create a User Group.

SUMMARY STEPS

  1. admin
  2. config
  3. aaa authorization datarules datarule data_rule_number
  4. keypath keypath
  5. ops operation
  6. action { accept | accept_log | reject}
  7. group user_group_name
  8. context connection type
  9. namespace namespace
  10. commit

DETAILED STEPS


Step 1

admin

Example:


RP/0/RP0/CPU0:router# admin 

Enters System Admin EXEC mode.

Step 2

config

Example:

sysadmin-vm:0_RP0#config

Enters System Admin Config mode.

Step 3

aaa authorization datarules datarule data_rule_number

Example:

sysadmin-vm:0_RP0(config)#aaa authorization datarules datarule 1100

Specify a numeric value as the data rule number. You can enter a 32 bit integer.

Important 
Do no use numbers between 1 to 1000 because they are reserved by Cisco.

This command creates a new data rule (if it is not already present) and enters the data rule configuration mode. In the example, data rule "1100" is created.

Note 

By default "datarule 1" is created by the system when the root-system user is created. This data rule provides "accept" permission to "read", "write", and "execute" operations for all configuration data. Therefore, the root user has no restrictions imposed on it, unless "datarule 1" is modified.

Step 4

keypath keypath

Example:

sysadmin-vm:0_RP0(config-datarule-1100)#keypath  /aaa/disaster-recovery

Specify the keypath of the data element. The keypath is an expression defining the location of the data element. If you enter an asterisk '*' for keypath , it indicates that the command rule is applicable to all configuration data.

Step 5

ops operation

Example:

sysadmin-vm:0_RP0(config-datarule-1100)#ops rw
Specify the operation for which permission has to be specified. Various operations are identified by these letters:
  • c—Create

  • d—Delete

  • u—Update

  • w— Write (a combination of create, update, and delete)

  • r—Read

  • x—Execute

Step 6

action { accept | accept_log | reject}

Example:

sysadmin-vm:0_RP0(config-datarule-1100)#action reject

Specify whether users are permitted or denied the operation.

  • accept — users are permitted to perform the operation

  • accept_log — users are permitted to perform the operation and every access attempt is logged

  • reject — users are restricted from performing the operation

Step 7

group user_group_name

Example:

sysadmin-vm:0_RP0(config-datarule-1100)#group gr1

Specify the user group on which the data rule is applied. Multiple group names can also be specified.

Step 8

context connection type

Example:

sysadmin-vm:0_RP0(config-datarule-1100)#context *

Specify the type of connection to which this rule applies. The connection type can be netconf (Network Configuration Protocol), cli (Command Line Interface), or xml (Extensible Markup Language ). It is recommended that you enter an asterisk '*', which indicates that the command applies to all connection types.

Step 9

namespace namespace

Example:

sysadmin-vm:0_RP0(config-datarule-1100)#namespace *

Enter asterisk '*' to indicate that the data rule is applicable for all namespace values.

Step 10

commit


Change Disaster-recovery Username and Password

When you define the root-system username and password initially after starting the router, the same username and password gets mapped as the disaster-recovery username and password for the System Admin VM. However, it can be changed.

The disaster-recovery username and password is useful in these scenarios:
  • Access the system when the AAA database, which is the default source for authentication in System Admin VM, is corrupted.

  • Access the system through the management port, when, for some reason, the System Admin VM console is not working.

  • Create new users by accessing the System Admin VM using the disaster-recovery username and password, when the regular username and password is forgotten.


Note

On the router, you can configure only one disaster-recovery username and password at a time.


Before you begin

Complete the user creation. For details, see Create a User Profile.

SUMMARY STEPS

  1. admin
  2. config
  3. aaa disaster-recovery username username password password
  4. commit

DETAILED STEPS


Step 1

admin

Example:


RP/0/RP0/CPU0:router# admin 

Enters System Admin EXEC mode.

Step 2

config

Example:

sysadmin-vm:0_RP0#config

Enters System Admin Config mode.

Step 3

aaa disaster-recovery username username password password

Example:

sysadmin-vm:0_RP0(config)#aaa disaster-recovery username us1 password pwd1

Specify the disaster-recovery username and the password. You have to select an existing user as the disaster-recovery user. In the example, 'us1' is selected as the disaster-recovery user and assigned the password as 'pwd1'. The password can be entered as a plain text or md5 digest string.

When you need to make use of the disaster recovery username, you need to enter it as username@localhost .

Step 4

commit


Recover Password using PXE Boot

If you are unable to login or lost your XR and System administration passwords, use the following steps to create new password. A lost password cannot be recovered, instead a new username and password must be created with a non-graceful PXE boot.

Procedure


Step 1

To recover XR password, add or remove the SDR from System admin configuration.

After the SDR is added or removed, verify the configuration. See Verify SDR Information.

Step 2

To recover the System admin password, PXE boot the router.

Note 

PXE boot is fully intrusive. The router state, configuration and image is reset.

Step 3

Reset the password.