int hashtable_import ( int hid, string filename )
hashtable_import reads a specified file and uses the contents to create a hash table containing hash table entries, one per line, consisting of a single hash key, a colon, and a comma-separated list of hash values. The file may also contain comments delimited by the # character.
If successfully imported, it returns the number of entries in the hash table.
#File admgroups.txt contains the formatted text unxadm:john,bob,fred,jane winadm:mary,chris,henry #policy loads this file into a hashtable that identifies the group permissions, hid=hashtable_create(); count=hashtable_import(hid, "/etc/opt/quest/qpm4u/tables/admgroups.txt"); printf("Import loaded %d groups\n", count); unxadm=hashtable_lookup(hid, "unxadm"); if (user !in unxadm) { reject "You are not authorized to run this command"; }
list hashtable_lookup ( int hid, string key)
hashtable_lookup searches the specified hash table for the key.
If it finds the key, it returns the associated list, otherwise it returns an empty list.
hid=hashtable_create(); hashtable_add(hid, "unxadm", {"johnd", "davel", "jamesp"}); hashtable_add(hid, "winadm", {"marym", "stevec", "janel"}); print("Windows Admin Group:" + hashtable_lookup(hid, "winadm"));
These are the built-in input and output functions available to use within the policy file.
Name | Description |
---|---|
Write a string to a file on the policy server. | |
Request input from the user. | |
Request input from the user without echoing to the screen. | |
Print a string to stdout with newline. | |
Print a string to stdout. | |
Print a string to stdout without newline. | |
Print the policy variables to stdout. | |
Return the list of entries in a directory as a string. | |
Read from a file on the policy server. | |
Format a string. | |
Log a message to the syslog file. |
fprintf ( string filename, string format [, string expression...] )
The fprintf function is similar to printf except that the first argument is a filename. It appends the formatted string to the specified file.
|
NOTE: For more information about formatting parameters, see the printf(3) man page. |
This example appends the string "End of file" to the pmlog file in the specified format.
fprintf("/var/adm/pmlog", "%s\n", "End of file";
© 2021 One Identity LLC. ALL RIGHTS RESERVED. Feedback Terms of Use Privacy