GoAdmio
GoAdmio Documentation

Manage Shell Access

From the GoAdmio knowledge base.

Manage Shell Access

This page explains the Manage Shell Access feature in GoAdmio. It lets you enable or disable normal shell access (full SSH) and jailed shell access (restricted SSH) for each domain account.

Location: Admin Panel → Security → Manage Shell Access
Location (User Panel): Security → Manage Shell Access (if enabled for the account)



Overview

Hosting accounts on a GoAdmio server can have two kinds of SSH access:

| Type | What it allows | Risk |
|---|---|---|
| Normal shell | Full shell access as the account user — bash, ssh, scp, rsync, any command the user can run | High — a compromised account can be used to pivot, scan, attack other servers, or run malicious software |
| Jailed shell | Restricted shell — a limited set of commands, confined to a chroot-like jail | Low — limited to file operations and specific commands |
| No shell | SSH access disabled entirely | None — the account cannot log in via SSH |

The Manage Shell Access page lets you choose the access level for each domain account.

> Warning: Do not enable normal shell access unless a specific, trusted customer explicitly needs it. Normal shell is one of the highest-risk features on a shared server. Most hosting customers do not need shell access — they use the panel, FTP, or SFTP.



What the Page Shows

| Column / Field | Description |
|---|---|
| Domain | The domain whose shell access is being managed |
| Username | The system username |
| Shell Type | Current access: Normal, Jailed, or No Shell |
| Status | Whether SSH access is enabled |
| Actions | Change shell type |
| Search | Filter the list by domain |

> Tip: The Shell Type column is the most important — it tells you at a glance which accounts have risky access.



Shell Access Types

No Shell (Recommended Default)

SSH access is disabled entirely. The account can still use:

  • The User Panel (HTTPS)
  • FTP and SFTP (if FTP is enabled) — see FTP Accounts
  • Email via IMAP/POP3/SMTP
  • Websites and databases
This is the safest setting and the right default for most hosting customers.

> Tip: If a customer needs file upload, FTP or SFTP covers it without giving shell access. See FTP Accounts.

Jailed Shell

A restricted shell that:

  • Confines the user to a jail directory (usually their home directory)
  • Limits available commands — typically file operations (ls, cat, cp, mv, mkdir), text editors (nano, vi), and basic utilities
  • Prevents access to system files, other accounts' directories, and most system commands
Jailed shell is useful for:
  • Developers who need basic command-line file access
  • Customers who need to run simple scripts or manage files via CLI
  • Support staff who need to inspect an account
> Note: The exact jail and available commands depend on GoAdmio's configuration. Jailed shell is not a full shell — commands like ssh, scp, rsync, wget, curl, and php may be unavailable.

Normal Shell

Full shell access — the same as logging in as the account user via SSH. The user can:

  • Run any command the account user is permitted to run
  • Access the file system within their permissions
  • Compile and run programs
  • Connect outbound (curl, wget, ssh)
  • Potentially pivot to other attacks if the account is compromised
> Warning: Normal shell is the most dangerous setting. A compromised account with normal shell can: > - Scan and attack other servers (outbound connections) > - Run crypto miners (CPU theft) > - Host malware or phishing on your IP > - Attempt privilege escalation > - Use the server as a launchpad for further attacks > > Enable it only for trusted, verified customers — and never as a default.

How to Change Shell Access

Via the Admin Panel

  1. Log in to the GoAdmio Admin Panel (or User Panel).
  2. Navigate to Security → Manage Shell Access.
  3. Locate the domain.
  4. Select the new Shell Type:
- No Shell — disables SSH - Jailed Shell — restricted CLI - Normal Shell — full SSH (⚠️ use with caution)
  1. Click Save.
Changes take effect immediately for new SSH sessions. Existing sessions may persist until they disconnect.

> Tip: To disable shell access, choose No Shell. The account's SSH login is rejected immediately.

Verifying the Change

```bash

Check the user's shell in /etc/passwd


grep "^<username>:" /etc/passwd

The last field is the shell:

/bin/bash → normal shell

/usr/bin/jailshell or /bin/rbash → jailed shell

/sbin/nologin or /usr/sbin/nologin → no shell

↑