Syntax
list stat ( string fn )
Description
stat returns information about a specified file on the policy server.
If the file fn exists on the policy server, stat returns the following list of values:
- File size in bytes
- File owner as username
- File group as groupname
- File permissions as octal
- File change date in the format: YYYY/MM/DD
- File change time in the format: HH:MM:SS
- File change time in the format: seconds since the epoch
- File access date in the format: YYYY/MM/DD
- File access time in the format: HH:MM:SS
- File access time in the format: seconds since the epoch
- File modification date in the format: YYYY/MM/DD
- File modification time in the format: HH:MM:SS
- File modification time in the format: seconds since the epoch
- File inode number
Syntax
string strftime (string format )
Description
strftime formats dates and times.
For more information on the standard formats for dates and times, refer to the strftime(3) man pages.
Table 41: Standard date and time formats
%d |
Day of the month |
%H |
24 hour format |
%I |
12 hour format |
%j |
Day of the year |
%m |
Month number |
%M |
Minute |
%S |
Seconds |
%w |
Weekday name |
Abbreviated month name |
Example
strftime("%m/%d/%Y") strftime("%H:%M")
Returns the current date and time formatted, as follows:
03/17/2012
13:05
Syntax
string system( string command [, string input] )
Description
The system function runs the specified command on the policy server, taking input from and sending output to the users terminal. system can use an optional string parameter to pass an input string to a command instead of prompting the user for input.
system sets the status variable to the exit status of the command. Typically, the exit status of a command returns 0 if it is successful, and non-zero if it is not successful.
By default, the command runs as root, but you can set the subprocuser variable to a different user under which to run the command.
For security reasons, One Identity recommends that you set the second parameter to " " (empty quotation marks) for all system calls that do not require user input.
Example
#list the contents of the directory /etc – and store the result as a string in "files".
#The exit status is stored in "status" and should be 0 if ls succeeds.
files=system("/bin/ls /etc");
if (status == 0) { …}
#perform a NIS lookup for all known hosts and store the result in "hosts" variable.
hosts=system("ypcat hosts");
if (status==0) {…}
#send mail to "root" user – the second param contains the contents of the mail, which
#will be passed to the mail program as standard input.
system("mail root", "mail from QPM4U\n");
Syntax
int timebetween ( int starttime, int endtime )
Description
The timebetween function returns a 0 or 1 depending on whether the current time is between those specified. Use this function to determine whether a user is submitting a request within valid business hours. Times must be specified using the 24-hour clock. Do not use leading zeroes for time specifications, because this will be interpreted in octal. For example, 12:30 am can be 30 or 2430.
Example
If (timebetween(800, 1630)) {
proc_working_hours_rules();
} else {
proc_outside_working_hours_rules();
}