OsConsoleCommand

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Reordering, merging, and removing redundant info. Also removed people's signatures because that info is already available in the history and this is not the discussion page)
(Replace script)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''Syntax:'''
+
{{osslfunc
 +
|threat_level=Severe
 +
|permissions=false
 +
|delay=0
 +
|function_syntax=integer osConsoleCommand(string command)
 +
|ossl_example=<source lang="lsl">
 +
//
 +
// osConsoleCommand Script Exemple
 +
// Author: djphil
 +
//
  
'''osConsoleCommand'''(string command)
+
integer switch;
  
'''Returns:'''
+
default
 +
{
 +
    state_entry()
 +
    {
 +
        llSay(PUBLIC_CHANNEL, "Touch to see osConsoleCommand usage.");
 +
    }
 +
   
 +
    touch_start(integer number)
 +
    {
 +
        string command = "login disable";
  
Nothing
+
        if (switch = !switch)
 +
        {
 +
            command = "login enable";
 +
        }
  
'''Threat level:'''
+
        integer result = osConsoleCommand(command);
  
Severe
+
        if (result == TRUE)
 +
        {
 +
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed with success ...");
 +
        }
  
'''Description:'''
+
        else
 +
        {
 +
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed without success ...");
 +
        }
 +
    }
 +
}
 +
</source>
 +
This would issue a Login Disable command on the console to prevent logins.
 +
|description=This function allows an LSL script to directly execute a command to opensim's console.  Even if the function is available, only administrators/gods can successfully execute it.
  
This function allows an LSL script to directly execute a command to opensim's console. There are no security checks, so it can do anything a user with access to the command console could do, such as changing the avatar passwords, deleting sims, changing the terrain, and just about everything else. This command represents the highest security threat of any OSSL function, giving it a threat level of ''Severe''.  
+
In addition, one can further restrict this function to only certain administrators/gods. See [[Threat level]] for more information on how to do this.
  
Do not use or allow this function unless you are absolutely sure of what you're doing! It is advisable to allow the use of this function for particular users only. See [[Threat level]] for more information on how to do this.
+
If the script owner does have the necessary permissions to call this function, then they can do anything someone with direct access to the command console could do, such as changing the avatar passwords, deleting sims, changing the terrain, etc.
  
'''Example:'''  
+
This command represents the highest security threat of any OSSL function, giving it a threat level of ''Severe''.
  
<source lang="lsl">osConsoleCommand("login disable");</source>
+
Do not use or allow this function unless you are absolutely sure of what you're doing!
This would issue a Login Disable command on the console to prevent logins.
+
|
 +
}}

Latest revision as of 18:00, 5 December 2020

integer osConsoleCommand(string command)
This function allows an LSL script to directly execute a command to opensim's console. Even if the function is available, only administrators/gods can successfully execute it.

In addition, one can further restrict this function to only certain administrators/gods. See Threat level for more information on how to do this.

If the script owner does have the necessary permissions to call this function, then they can do anything someone with direct access to the command console could do, such as changing the avatar passwords, deleting sims, changing the terrain, etc.

This command represents the highest security threat of any OSSL function, giving it a threat level of Severe.

Do not use or allow this function unless you are absolutely sure of what you're doing!

Threat Level Severe
Permissions Use of this function is always disabled by default
Extra Delay 0 seconds
Example(s)
//
// osConsoleCommand Script Exemple
// Author: djphil
//
 
integer switch;
 
default
{
    state_entry()
    {
        llSay(PUBLIC_CHANNEL, "Touch to see osConsoleCommand usage.");
    }
 
    touch_start(integer number)
    {
        string command = "login disable";
 
        if (switch = !switch)
        {
            command = "login enable";
        }
 
        integer result = osConsoleCommand(command);
 
        if (result == TRUE)
        {
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed with success ...");
        }
 
        else
        {
            llSay(PUBLIC_CHANNEL, "Command \"" + command + "\" executed without success ...");
        }
    }
}

This would issue a Login Disable command on the console to prevent logins.

Personal tools
General
About This Wiki