Deploy Shell
Deploy Shell is a powerful feature that allows you to execute shell commands on servers registered within a Workspace
without directly accessing them via Websh.
You can send commands to multiple servers at once and optionally schedule them for a future time.
Deploy Shell also supports scheduled execution and cancellation before the command is run.
You can access this feature by navigating to the Deploy Shell menu after entering your Workspace
.
Features Provided
Submit a Command
To send a shell command to one or more registered servers:
- Click the Select servers button.
- In the server selection modal, choose one or more target servers.
- Click Confirm to apply the selection.
- The selected servers will be shown next to the Select servers button.
- Click the
×
icon to remove individual servers. - Click the reset icon to remove all selections at once.
- Click the
- Enter your shell command into the Command input field.
- (Optional) Use the Scheduled time field to choose a future execution time.
- If omitted, the command will execute immediately.
- Click Execute to submit the command.
View Command Results
Once you click Execute, Alpacon sends the command to the selected servers.
You can track the request’s processing and outcome in the Command history section.
Command Status Values
Status | Description |
---|---|
Success | Command was successfully executed |
Failed | Command execution failed |
Scheduled | Command is scheduled and awaiting execution |
Execution logs are shown per server and include timestamp and initiator information.
Cancel a Scheduled Command
You can cancel scheduled commands before they are executed.
To cancel a command:
- Locate the command in the Command history list with a status of Scheduled.
- Click the Cancel command link next to it.
- In the confirmation modal, review the details and click Confirm.
- The canceled command will disappear from the history list.
⚠️ Commands that have already been executed cannot be canceled.
Root Privilege Policy
Whether a command is executed with root
privileges depends on the following three conditions:
- Username: The account used for executing the command on the server
- Groupname: The group associated with the user
- User Role: The user’s role in Alpacon (
User
,Staff
, orSuperuser
)
Root Access Matrix
ID | User Role | Username | Groupname | Root Access |
---|---|---|---|---|
1 | User | User's name | Alpacon users | ✕ |
2 | User | User's name | Custom group | ✕ |
3 | User | User's name | root | ✕ |
4 | User | root | root | ✕ |
5 | Staff | User's name | Alpacon users | ✕ |
6 | Staff | User's name | Custom group | ✕ |
7 | Staff | User's name | root | ✔ |
8 | Staff | root | root | ✔ |
9 | Superuser | User's name | Alpacon users | ✕ |
10 | Superuser | User's name | Custom group | ✕ |
11 | Superuser | User's name | root | ✔ |
12 | Superuser | root | root | ✔ |
A command will only be executed with
root
privileges if both the user’s role and the account/group pair satisfy the required conditions.
Summary
- Deploy Shell enables direct command execution across multiple servers without needing to open individual terminal sessions.
- Commands can be run immediately or scheduled, with cancelation available for pending executions.
Root
access is tightly controlled based on user privilege and server-side identity to ensure security.