Security Levels
There are five different security levels.
| Security Name | Numeric Level | Description | 
|---|---|---|
| ANYBODY | 1 | No privilege to run any CLI command. | 
| READONLY | 2 | Minimum privileges; a user can only browse the information but cannot change anything | 
| USER | 3 | A user can only execute established flows and view non
                                    critical information. In particular, a USER:  
 | 
| LEADER | 4 | Intermediate privileges; a user can create and execute
                                    arbitrary flows and view all non-security related information. A LEADER: 
 This level is rarely used. | 
| ADMIN | 5 | Administrator privileges; a user has access to most security
                                    information An ADMIN:  
 | 
The Security File
The file security.tcl in the server working directory specifies the security policies. This file must be owned by the project owner and must have read/write access only for the owner.
To change the security file of an active server, use the vovproject reread command to make the changes effective.
vtk_security username|-group vovusergroupsecurityLevelhostNameOrIpRange ...- username
- The login name of a user or + to mean "anybody" or - to mean "nobody".
- vovusergroup
- The name of a VovUserGroups.
- securityLevel
- USER, LEADER or ADMIN (case insensitive)
- hostListOrIpRange
- For an IP range, it must have the form "x.x.x.x-y.y.y.y" (example
                            192.168.10.220-192.168.10.240). If it is not an IP range, it is either the name of a host or + to indicate "any host" or - to mean "no host".
Placing the order of the rules in this file is not important. The rules are automatically reordered from the most user specific to the least user specific and from the most liberal to the most restrictive with respect to the security level.
Example: least restrictive security
# All users (+) are administrators from all hosts (+).
vtk_security + ADMIN +Example: most restrictive security
# No rule defined gives only the owner of the project ADMIN privileges 
# on the server host.Example: typical case
set servers      { reno milano } 
set allhosts     { reno milano elko tahoe } 
vtk_security mary    ADMIN   +
vtk_security john    ADMIN   tahoe
vtk_security dan     ADMIN   $servers
vtk_security pat     LEADER  elko 
vtk_security fred    USER    $allhosts
vtk_security bob     ADMIN   192.168.0.30-192.168.0.100
vtk_security -group mygroup USER    $allHostsIn the example, mary is an administrator from any host, and
                    dan is an administrator only from reno and
                    milano. The user pat is a LEADER from her
                machine elko, and fred has USER privileges with
                the four machines that are defined in the variable $allhosts.
                Additionally, members of the VovUserGroup "mygroup" have USER privileges from
                    $allHosts. 
Find the Security Level
To find the security level, use vtk_user_security from a Tcl script.
% vovsh -x "puts [vtk_user_security]"
5 ADMIN
% env SECURITY_LEVEL=3 vovsh -x "puts [vtk_user_security]"
3 USER