TOS CLI
CLI je předinstalováno v systémech TOS 7 a novějších. Příkaz tos můžete spouštět přímo z libovolného terminálu bez další instalace.
Úvod
CLI TOS 7 je nástroj pro správu systému TerraMaster TOS 7 z příkazového řádku, který poskytuje funkce odpovídající možnostem webového rozhraní pro správu. Jako základní součást platformy TOS Developer Platform nabízí nástroj CLI standardizovaná rozhraní příkazů a výstupní formáty JSON, díky čemuž jej lze snadno integrovat do nejrůznějších pracovních postupů vývoje, testování, automatizovaných operací a sekundárního vývoje.
Klíčové funkce
- Připraveno k okamžitému použití: Předintegrováno do systému TOS, není nutná žádná další instalace
- Flexibilní volání: Podporuje místní terminály, vzdálené shelly, skripty, nástroje AI a mnoho dalších způsobů volání
- Interaktivní i neinteraktivní režim: Vhodné jak pro každodenní administrativní údržbu, tak pro úlohy ve skriptech a automatizaci
- Podpora výstupu JSON: Usnadňuje programové zpracování a integraci CI/CD
- Ukládání relace do mezipaměti: Jedno přihlášení s automatickým znovupoužitím relace pro následující příkazy
- Komplexní správa: Plnospektrální správa pokrývající systém, úložiště, síť, uživatele, aplikace, služby a další
Rychlý start
# Execute from any terminal (local terminal, SSH, scripts, AI tools, or any command-line interface)
tos --help
# View system information (no authentication required)
tos info
# View file service status (no authentication required)
tos fileservice status
# Output in JSON format (for script parsing)
tos info --json
Globální volby
Následující volby platí pro všechny příkazy:
| Volba | Zkratka | Popis |
|---|---|---|
--help | - | Zobrazí nápovědu k příkazu |
--version | -v | Zobrazí číslo verze (pro strukturovaný výstup použijte --json) |
--json | - | Výstup ve formátu JSON (pouze u dotazovacích příkazů) |
--yes | -y | Přeskočí výzvy k potvrzení u vysoce rizikových operací (vyžadováno v neinteraktivním režimu) |
--debug | - | Povolí ladící výstup s podrobnými trasami provádění |
--user | -u | Určí uživatelské jméno (přebije proměnnou prostředí) |
--pass | -P | Určí heslo (přebije proměnnou prostředí) |
--token | - | Určí token relace (přebije proměnnou prostředí i mezipaměť) |
Příklad informací o verzi
tos --version
TOS CLI 1.0.7
TOS 7.0.0
Build 20260624
tos --version --json
{
"cli_version": "1.0.7",
"tos_version": "7.0.0",
"build": "20260624"
}
Ověřování a správa relací
Většina vzdálených příkazů (správa uživatelů, správa úložiště, centrum aplikací, ovládání ventilátoru, správa protokolů atd.) komunikuje se službou TOS daemon prostřednictvím HTTP a vyžaduje ověření.
Místní příkazy (např. tos info, tos fileservice, tos ssh status, tos service atd.) čtou přímo systémové soubory nebo volají systemd a nevyžadují ověření.
Priorita ověřování (od nejvyšší po nejnižší)
- Parametry příkazového řádku
--user/--passnebo--token - Proměnná prostředí
TOS_TOKEN - Proměnné prostředí
TOS_USER/TOS_PASS - Soubor relace v mezipaměti
~/.tos/session.json - Interaktivní výzva
Metoda 1: Ukládání relace do mezipaměti (doporučeno pro každodenní použití)
Použijte tos login jednou a následující příkazy budou automaticky znovupoužívat uloženou relaci (uloženou v ~/.tos/session.json, oprávnění 0600, heslo šifrované algoritmem RSA).
# Interactive login (prompts for username and password)
tos login
# Non-interactive login
tos login -u admin -P yourpassword
# Subsequent commands no longer require credentials
tos disk list
tos user list --json
# Clear cached session
tos logout
Metoda 2: Režim tokenu (pro CI/CD a prostředí bez stavu)
Vygenerujte přenosný token a předejte jej prostřednictvím proměnné prostředí.
# Generate token (outputs only the token string)
tos login -u admin -P yourpassword --token-only
# Output example: tos_v1.eyJ2ZXJzaW9uIjoxLC...
# Pass token via environment variable
export TOS_TOKEN="tos_v1.eyJ2ZXJzaW9uIjoxLC..."
tos disk list --json
Metoda 3: Parametry příkazového řádku nebo proměnné prostředí (starší přístup)
# Command-line flags
tos user list --user admin --pass yourpassword
# Environment variables
export TOS_USER=admin
export TOS_PASS=yourpassword
tos user list
Referenční seznam proměnných prostředí
| Proměnná | Popis | Výchozí |
|---|---|---|
TOS_DAEMON_URL | Adresa služby daemon | http://localhost:5050 |
TOS_USER | Přihlašovací uživatelské jméno | - |
TOS_PASS | Přihlašovací heslo (v čistém textu, bezpečnostní riziko) | - |
TOS_TOKEN | Token relace (vygenerovaný příkazem tos login --token-only) | - |
TOS_SESSION_DIR | Adresář pro ukládání souborů relací | ~/.tos |
Klasifikace příkazů a přehled oprávnění
To, zda příkaz vyžaduje ověření, závisí na tom, zda potřebuje komunikovat se službou daemon:
| Vyžadováno ověření | Skupiny příkazů |
|---|---|
| Není vyžadováno | info, ssh, buzzer, fileservice, service, firewall (status/enable/disable), reboot, poweroff, version |
| Vyžadováno | user, user-group, fan, log, update, shared-folder, app, disk, array, volume, storage info, network info, firewall rule, tnas-online |
Souhrn příkazů
Rychlý referenční souhrn všech příkazů tos:
| Nadřazený příkaz | Podpříkaz | Popis | Ověř. | Vysoké riziko |
|---|---|---|---|---|
tos | --version | Zobrazí informace o verzi | Ne | Ne |
tos | info | Zobrazí přehled systému (verze TOS, hardware, CPU, paměť, teplota, ventilátor) | Ne | Ne |
tos | reboot | Restartuje systém | Ano | ✅ |
tos | poweroff | Bezpečně vypne systém | Ano | ✅ |
tos ssh | status | Zobrazí stav služby SSH a port | Ne | Ne |
tos ssh | enable | Povolí službu SSH | Ne | Ne |
tos ssh | disable | Zakáže službu SSH | Ne | ✅ |
tos buzzer | status | Zobrazí stav upozornění bzučáku | Ne | Ne |
tos buzzer | enable | Povolí upozornění bzučáku | Ne | Ne |
tos buzzer | disable | Zakáže upozornění bzučáku | Ne | Ne |
tos fan | status | Zobrazí režim ovládání ventilátoru a rychlost | Ano | Ne |
tos fan | set-mode | Nastaví režim ovládání ventilátoru (auto/low/mid/high) | Ano | Ne |
tos firewall | status | Zobrazí stav povolení firewallu | Ne | Ne |
tos firewall | enable | Povolí firewall | Ne | Ne |
tos firewall | disable | Zakáže firewall | Ne | ✅ |
tos firewall | rule | Vypíše pravidla firewallu | Ano | Ne |
tos fileservice | status | Zobrazí stav souborových služeb (smb/nfs/ftp/webdav/rsync) | Ne | Ne |
tos fileservice | enable | Povolí souborovou službu | Ne | Ne |
tos fileservice | disable | Zakáže souborovou službu | Ne | ✅ |
tos service | list | Vypíše systémové služby (smb/nfs/ftp/sftp/rsync/ssh/telnet/webdav/webdavs) | Ne | Ne |
tos service | start | Spustí systémovou službu | Ne | Ne |
tos service | stop | Zastaví systémovou službu | Ne | ✅ |
tos service | restart | Restartuje systémovou službu | Ne | Ne |
tos service | set | Nastaví automatické spuštění služby při startu systému | Ne | Ne |
tos storage | info | Zobrazí přehled úložiště (stav disk/pole/svazek/Hyper Cache) | Ano | Ne |
tos disk | list | Vypíše všechny disky | Ano | Ne |
tos disk | mount | Připojí disk | Ano | Ne |
tos disk | unmount | Odpojí disk | Ano | ✅ |
tos array | list | Vypíše všechna úložná pole | Ano | Ne |
tos array | mount | Připojí úložné pole | Ano | Ne |
tos array | delete | Smaže úložné pole | Ano | ✅ |
tos volume | list | Vypíše všechny svazky | Ano | Ne |
tos volume | mount | Připojí svazek | Ano | Ne |
tos volume | delete | Smaže svazek | Ano | ✅ |
tos shared-folder | list | Vypíše sdílené složky | Ano | Ne |
tos shared-folder | show | Zobrazí podrobnosti sdílené složky | Ano | Ne |
tos shared-folder | add | Přidá sdílenou složku | Ano | Ne |
tos shared-folder | delete | Smaže sdílenou složku | Ano | ✅ |
tos user | list | Vypíše místní uživatele | Ano | Ne |
tos user | add | Vytvoří místního uživatele | Ano | Ne |
tos user | delete | Smaže místního uživatele | Ano | ✅ |
tos user | online | Zobrazí aktuálně přihlášené uživatele | Ano | Ne |
tos user-group | list | Vypíše místní skupiny uživatelů | Ano | Ne |
tos user-group | add | Vytvoří místní skupinu uživatelů | Ano | Ne |
tos user-group | delete | Smaže místní skupinu uživatelů | Ano | ✅ |
tos app | list | Vypíše všechny aplikace | Ano | Ne |
tos app | info | Zobrazí podrobnosti aplikace | Ano | Ne |
tos app | install | Nainstaluje aplikaci | Ano | ✅ |
tos app | uninstall | Odinstaluje aplikaci | Ano | ✅ |
tos app | update | Aktualizuje aplikace | Ano | ✅ |
tos app | enable | Povolí aplikaci | Ano | Ne |
tos app | disable | Zakáže aplikaci | Ano | ✅ |
tos app | status | Zkontroluje stav aplikace | Ano | Ne |
tos network | info | Zobrazí konfiguraci systémové sítě | Ano | Ne |
tos tnas-online | info | Zobrazí stav vzdáleného přístupu tnas.online | Ano | Ne |
tos tnas-online | enable | Povolí vzdálený přístup tnas.online | Ano | ✅ |
tos tnas-online | disable | Zakáže vzdálený přístup tnas.online | Ano | ✅ |
tos log | view | Zobrazí systémové protokoly | Ano | Ne |
tos log | clear | Vymaže systémové protokoly | Ano | ✅ |
tos log | export | Exportuje systémové protokoly jako CSV | Ano | Ne |
tos update | check | Zkontroluje systémové aktualizace | Ano | Ne |
tos update | install | Nainstaluje systémové aktualizace | Ano | ✅ |
tos | login | Přihlásí se a uloží relaci do mezipaměti | Ne | Ne |
tos | logout | Vymaže uloženou relaci | Ne | Ne |
Referenční příručka příkazů
I. Informace o systému a stav
tos info – Přehled systému
Zobrazí komplexní informace o systému, včetně verze TOS, hardwaru, CPU, paměti, teploty a stavu ventilátoru.
tos info [--json]
Příklad výstupu (tabulka):
PROPERTY VALUE
TOS Version 7.0.0447
BIOS Version 6.00
Model F4-424
Uptime 12 days 05:34:48
IP Address 192.168.1.20
CPU Model Intel N95
CPU Usage 18%
Memory Total 8 GB
Memory Usage 42%
System Temp 41 °C
CPU Temp 52 °C
Fan Speed 1200 RPM
Výstup JSON (tos info --json):
{
"tos_version": "7.0.0447",
"bios_version": "6.00",
"model": "F4-424",
"uptime": "12 days 05:34:48",
"ip_address": "192.168.1.20",
"cpu_model": "Intel N95",
"cpu_usage": 18,
"memory_total": "8 GB",
"memory_usage": 42,
"system_temperature": 41,
"cpu_temperature": 52,
"fan_speed": 1200
}
Informace o teplotě a ventilátoru závisí na hardwarových čidlech. Virtuální počítače nebo zařízení bez čidel zobrazí
-(nullve formátu JSON).
II. Správa systému (restart / vypnutí)
Poznámka:
rebootapoweroffjsou vzdálené příkazy a vyžadují ověření.
tos reboot – Restart systému (vysoké riziko)
tos reboot [--yes]
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Provádí se prostřednictvím API služby daemon
PUT /system/reboot - Výstup:
Reboot scheduled
tos poweroff – Bezpečné vypnutí (vysoké riziko)
tos poweroff [--yes]
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Provádí se prostřednictvím API služby daemon
PUT /system/poweroff - Výstup:
Power off scheduled
III. Správa služby SSH
Nadřazený příkaz: tos ssh (místní příkaz, nevyžaduje ověření)
tos ssh status – Zobrazení stavu SSH
tos ssh status [--json]
Příklad výstupu:
PROPERTY VALUE
SSH Status enabled
Port 22
tos ssh enable – Povolení SSH
tos ssh enable [--port <port>]
--porturčuje číslo portu, výchozí hodnota je 22- Akce: Zapište konfiguraci portu do
/etc/ssh/sshd_config, spusťtesystemctl enable+systemctl start - Výstup:
SSH enabled on port 22
tos ssh disable – Zakázání SSH (vysoké riziko)
tos ssh disable [--yes]
- Vysoce riziková operace: Může odpojit aktuální vzdálenou relaci
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Výstup:
SSH disabled
IV. Správa bzučáku
Nadřazený příkaz: tos buzzer (místní příkaz, nevyžaduje ověření)
tos buzzer status – Zobrazení stavu bzučáku
tos buzzer status [--json]
Příklad výstupu:
PROPERTY VALUE
Buzzer Status enabled
tos buzzer enable – Povolení bzučáku
tos buzzer enable
- Spustí skript upozornění bzučáku (
/etc/tos/scripts/warnning) - Pokud je bzučák již povolen, vrátí chybu konfliktu (kód ukončení 4)
- Výstup:
Buzzer enabled
tos buzzer disable – Zakázání bzučáku
tos buzzer disable
- Výstup:
Buzzer disabled
V. Ovládání ventilátoru
Nadřazený příkaz: tos fan (vzdálený příkaz, vyžaduje ověření)
tos fan status – Zobrazení stavu ventilátoru
tos fan status [--json]
Příklad výstupu:
PROPERTY VALUE
Fan Control enabled
Mode auto
Speed 1200 RPM
tos fan set-mode – Nastavení režimu ventilátoru
tos fan set-mode --mode <auto|low|mid|high>
Popis režimů:
| Režim | Popis |
|---|---|
auto | Chytrý režim (systém upravuje automaticky) |
low | Nízká rychlost (tichý chod) |
mid | Střední rychlost |
high | Vysoká rychlost (maximální chlazení) |
- Při nastavování režimu zachovává stávající konfiguraci bzučáku
- Výstup:
Fan mode set to auto
VI. Správa firewallu
Nadřazený příkaz: tos firewall (hybridní režim)
| Podpříkaz | Popis | Ověřování |
|---|---|---|
status | Zobrazí stav povolení firewallu | Není vyžadováno |
enable | Povolí firewall | Není vyžadováno |
disable | Zakáže firewall (vysoké riziko) | Není vyžadováno |
rule | Vypíše pravidla firewallu | Vyžadováno |
tos firewall status – Zobrazení stavu firewallu
tos firewall status [--json]
Příklad výstupu:
PROPERTY VALUE
Firewall Status enabled
tos firewall enable – Povolení firewallu
tos firewall enable
- Provádí
systemctl enable+systemctl startpro iptables.service - Pokud je již povolen, vypíše
Firewall already enableda vrátí 0 (idempotentní) - Výstup:
Firewall enabled
tos firewall disable – Zakázání firewallu (vysoké riziko)
tos firewall disable [--yes]
- Vysoce riziková operace: Zakázání firewallu vystaví všechny síťové porty
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Pokud je již zakázán, vypíše
Firewall already disableda vrátí 0 (idempotentní) - Výstup:
Firewall disabled
tos firewall rule – Výpis pravidel firewallu
tos firewall rule [--detail] [--json]
- Získá seznam pravidel z API služby daemon
--detailpřidá sloupce DESTINATION a DESCRIPTION- Kompatibilní alias:
tos firewall list
Příklad výstupu:
RULE ID ACTION PROTOCOL SOURCE PORT
1 allow tcp 0.0.0.0/0 22
VII. Správa souborových služeb
Nadřazený příkaz: tos fileservice (alias tos fs)
Místní příkaz, nevyžaduje ověření. Spravuje služby přímým čtením/zápisem konfiguračních souborů /etc/tos/config/*.json a ovládáním jednotek systemd.
Podporované služby:
| Služba | Popis | Výchozí port |
|---|---|---|
smb | Sdílení souborů SMB/CIFS | 445 |
nfs | Sdílení souborů NFS | 2049 |
ftp | Přenos souborů FTP | 21 |
webdav | Sdílení souborů WebDAV | 80 |
rsync | Synchronizace souborů Rsync | 873 |
Při porovnávání názvů služeb se nerozlišují velká a malá písmena.
tos fileservice status – Zobrazení stavu souborových služeb
tos fileservice status [service-name] [--json]
- Bez argumentu: Zobrazí stav všech 5 souborových služeb
- S názvem služby: Zobrazí pouze tuto službu
Příklad výstupu:
SERVICE ENABLED STATUS PORT
smb true running 445
nfs false stopped -
ftp true running 21
webdav false stopped -
rsync false stopped -
tos fileservice enable – Povolení souborové služby
tos fileservice enable <service-name>
- Ověří název služby (povoleny jsou pouze smb/nfs/ftp/webdav/rsync, bez ohledu na velikost písmen)
- Akce: Zapíše
enable: truedo konfiguračního souboru, spustísystemctl enableasystemctl start - Pokud je již povolena, vypíše
File service already enableda vrátí 4 (konflikt stavu) - Výstup:
File service enabled: smb
tos fileservice disable – Zakázání souborové služby (vysoké riziko)
tos fileservice disable <service-name> [--yes]
- Vysoce riziková operace: Může přerušit aktivní přístup k souborům
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Pokud je již zakázána, vypíše
File service already disableda vrátí 0 (idempotentní) - Výstup:
File service disabled: smb
VIII. Správa systémových služeb
Nadřazený příkaz: tos service
Místní příkaz, založený na systemd, nevyžaduje ověření. Spravuje základní systémové služby (smb/nfs/ftp/sftp/rsync/ssh/telnet/webdav/webdavs).
tos service list – Výpis systémových služeb
tos service list [--status <running|stopped>] [--json]
Příklad výstupu:
SERVICE NAME STATUS AUTOSTART
ftp stopped false
nfs stopped false
smb running false
ssh running true
tos service start – Spuštění služby
tos service start <service-name>
- Idempotentní: Pokud již běží, vypíše
Service already running: smba vrátí 0 - Výstup:
Service started: smb
tos service stop – Zastavení služby (vysoké riziko)
tos service stop <service-name> [--yes]
- Vysoce riziková operace: Může přerušit aktivní uživatele
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Idempotentní: Pokud je již zastavena, vypíše
Service already stopped: smba vrátí 0 - Výstup:
Service stopped: smb
tos service restart – Restart služby
tos service restart <service-name>
- Pokud služba neběží, chová se stejně jako
start - Výstup:
Service restarted: smb
tos service set – Nastavení automatického spuštění
tos service set <service-name> --autostart <true|false>
- Založeno na systemd enable/disable
- Výstup:
Service autostart set: smb=true
IX. Správa úložiště
Poznámka: Všechny příkazy pro správu úložiště jsou vzdálené příkazy a vyžadují ověření. Komunikují s backendem úložiště prostřednictvím unixového socketu (
/var/run/socks/storage.sock).
tos storage info – Přehled úložiště
tos storage info [--scope <disk|volume|raid|all>] [--json]
--scopefiltruje rozsah zobrazení, výchozí hodnota jeall- Statistiky zdravých disků vycházejí z výčtu Health úložných poolů
Příklad výstupu:
PROPERTY VALUE
Disk Count 1
Healthy Disks 0
Warning Disks 0
Failed Disks 1
Array Count 1
Volume Count 1
External Devices 0
Hyper Cache disabled
tos disk – Správa disků
Nadřazený příkaz: tos disk
| Podpříkaz | Popis |
|---|---|
list | Vypíše disky s možnostmi řazení a podrobností |
mount | Připojí disk |
unmount | Odpojí disk (vysoké riziko, vyžaduje --yes) |
# List disks
tos disk list [--detail] [--sort <size|status|temp>] [--json]
# Mount a disk
tos disk mount sda
# Unmount a disk (high-risk)
tos disk unmount sda --yes
Příklad výstupu list:
DISK ID MODEL CAPACITY HEALTH TEMP SYSTEM DISK
HDD1 ST2000VX017-3CV102 2.00 TB normal - No
tos array – Správa polí
Nadřazený příkaz: tos array
| Podpříkaz | Popis |
|---|---|
list | Vypíše úložná pole s možnostmi řazení a podrobností |
mount | Připojí pole |
delete | Smaže pole (vysoké riziko, nevratné, vyžaduje --yes) |
# List arrays
tos array list [--detail] [--sort <size|status>] [--json]
# Mount an array
tos array mount <array-uuid>
# Delete an array (high-risk)
tos array delete <array-uuid> --yes
tos volume – Správa svazků
Nadřazený příkaz: tos volume
| Podpříkaz | Popis |
|---|---|
list | Vypíše svazky s možnostmi řazení a podrobností |
mount | Připojí svazek |
delete | Smaže svazek (vysoké riziko, nevratné, vyžaduje --yes) |
# List volumes
tos volume list [--detail] [--sort <size|status>] [--json]
# Mount a volume
tos volume mount <volume-uuid>
# Delete a volume (high-risk)
tos volume delete <volume-uuid> --yes
tos shared-folder – Správa sdílených složek
Nadřazený příkaz: tos shared-folder
| Podpříkaz | Popis |
|---|---|
list | Vypíše sdílené složky |
show | Zobrazí podrobnou konfiguraci složky |
add | Vytvoří sdílenou složku |
delete | Smaže sdílenou složku (vysoké riziko, nevratné, vyžaduje --yes) |
# List shared folders
tos shared-folder list [--detail] [--json]
# View folder details
tos shared-folder show <folder-id> [--json]
# Create a shared folder (non-interactive example)
tos shared-folder add myshare --path /Volume3/myshare --device Volume3 --yes
# Delete a shared folder (high-risk)
tos shared-folder delete myshare --yes
Hlavní parametry příkazu add:
| Parametr | Popis |
|---|---|
<folder-name> | Název složky, povinný |
--path | Cesta připojení, povinná v neinteraktivním režimu |
--device | Úložné zařízení, povinné v neinteraktivním režimu |
--desc | Popis složky |
--encrypt | Povolí šifrování |
--recycle | Koš: 0=vypnuto, 1=zapnuto, 2=pouze pro administrátory |
--hidden | Skryje složku |
--quota | Kvóta: -1=zakázána, 0=vypnuto, 1=povolena |
--save-days | Počet dní uchování v Koši (výchozí 30) |
--time-machine | Povolí Time Machine |
X. Správa uživatelů
Poznámka: Všechny příkazy pro správu uživatelů jsou vzdálené příkazy a vyžadují ověření.
tos user – Správa místních uživatelů
Nadřazený příkaz: tos user
| Podpříkaz | Popis |
|---|---|
list | Vypíše všechny uživatele, lze filtrovat podle stavu |
add | Vytvoří uživatele |
delete | Smaže uživatele (vysoké riziko, nevratné, vyžaduje --yes) |
online | Zobrazí aktuálně přihlášené uživatele |
# List users
tos user list [--status active|inactive] [--json]
# Create a user (non-interactive, --password-stdin recommended)
echo 'SecurePass123' | tos user add bob --password-stdin --group users --enabled true --yes
# Delete a user (high-risk)
tos user delete bob --yes
# View online users
tos user online [--json]
Parametry příkazu add:
| Parametr | Popis |
|---|---|
<username> | Uživatelské jméno, povinné |
--password | Heslo v čistém textu (nedoporučuje se, je viditelné v seznamu procesů) |
--password-stdin | Přečte heslo ze stdin (doporučeno) |
--group | Primární skupina uživatelů, výchozí hodnota je users |
--enabled | Zda je uživatel povolen, výchozí hodnota je true |
--yes | Přeskočí interaktivní potvrzení |
Příklad výstupu online:
USERNAME IP LOGIN TIME SERVICE
admin 192.168.1.10 2026-04-23T09:12:00 TOS Web
tos user-group – Správa skupin uživatelů
Nadřazený příkaz: tos user-group
| Podpříkaz | Popis |
|---|---|
list | Vypíše všechny skupiny uživatelů |
add | Vytvoří skupinu uživatelů |
delete | Smaže skupinu uživatelů (vysoké riziko, nevratné, vyžaduje --yes) |
# List user groups
tos user-group list [--detail] [--json]
# Create a user group
tos user-group add developers --description "Development Team"
# Delete a user group (high-risk)
tos user-group delete developers --yes
Příklad výstupu list:
GROUP NAME DESCRIPTION MEMBER COUNT
admin Administrators 2
users Normal users 8
XI. Správa centra aplikací
Poznámka: Všechny příkazy pro správu aplikací jsou vzdálené příkazy a vyžadují ověření. Komunikují s backendem centra aplikací prostřednictvím unixového socketu (
/var/api/Application.sock).
Nadřazený příkaz: tos app
Všechny podpříkazy přijímají buď ID aplikace, nebo zobrazovaný název (přesná shoda, přednost má ID).
| Podpříkaz | Popis |
|---|---|
list | Vypíše všechny aplikace |
info | Zobrazí podrobné informace o aplikaci |
install | Nainstaluje aplikaci s volitelnou vlastní cestou (vyžaduje --yes) |
uninstall | Odinstaluje aplikaci (vysoké riziko, --clean odstraní zbytková data, vyžaduje --yes) |
update | Aktualizuje aplikace (pokud není zadána žádná aplikace, aktualizuje všechny, vyžaduje --yes) |
enable | Povolí aplikaci |
disable | Zakáže aplikaci (vysoké riziko, může přerušit aktivní služby, vyžaduje --yes) |
status | Zkontroluje stav aplikace |
# List applications
tos app list [--status running|stopped] [--refresh] [--json]
# View application details
tos app info mysql [--json]
# Install an application
tos app install DockerEngine --path /Volume1 --yes
# Uninstall an application (high-risk)
tos app uninstall mysql --yes
# Update all applications
tos app update --yes
# Enable/disable an application
tos app enable mysql
tos app disable mysql --yes
# View application status
tos app status mysql [--json]
Příklad výstupu list:
APP ID NAME VERSION STATUS CATEGORY SIZE
mysql MariaDB 10.3.33 running Utilities 17.9 MB
plex Plex Media 1.42.2 running Multimedia 200.0 MB
Příklad výstupu status:
PROPERTY VALUE
App ID mysql
Installed Yes
Running Yes
Version 10.3.33
XII. Správa sítě
tos network info – Zobrazení konfigurace sítě
Nadřazený příkaz: tos network (vzdálený příkaz, vyžaduje ověření)
Zobrazuje název zařízení, porty HTTP/HTTPS, rozhraní NIC, IP, MAC, MTU, DNS, bránu atd.
tos network info [--scope <all|ip|dns|gateway>] [--json]
--scopefiltruje rozsah zobrazení, výchozí hodnota jeall
Příklad výstupu:
PROPERTY VALUE
Device Name TNAS-fe52
HTTP Port 8181
HTTPS Port 5443
Interface eth1
IPv4 10.18.13.150
IPv6 fe80::6ebf:b5ff:fe02:fe52
MAC 6c:bf:b5:02:fe:52
MTU 1500
DNS 10.18.2.10
IPv4 Gateway 10.18.13.1
IPv6 Gateway -
Bond Enabled false
XIII. Vzdálený přístup (tnas.online)
Poznámka: Všechny příkazy vzdáleného přístupu jsou vzdálené příkazy a vyžadují ověření.
Nadřazený příkaz: tos tnas-online
| Podpříkaz | Popis |
|---|---|
info | Zobrazí stav vzdáleného přístupu |
enable | Povolí vzdálený přístup |
disable | Zakáže vzdálený přístup (vysoké riziko, může přerušit vzdálená připojení, vyžaduje --yes) |
tos tnas-online info – Zobrazení stavu
tos tnas-online info [--detail] [--json]
--detailzobrazí úplné informace o připojení (účet, URL, IP, verze, VPN, doba provozu)
Příklad výstupu:
PROPERTY VALUE
Status enabled
TNAS ID ABCD1234
Connected true
tos tnas-online enable – Povolení vzdáleného přístupu
tos tnas-online enable --tnas-id <tnas-id> --account <email> [--password <pw>] [--password-stdin] [--yes]
| Parametr | Popis |
|---|---|
--tnas-id | TNAS ID, povinný |
--account | Účet TerraMaster (ve formátu e-mailu), povinný |
--password | Heslo účtu (čistý text se nedoporučuje) |
--password-stdin | Přečte heslo ze stdin (doporučeno) |
--yes | Přeskočí interaktivní potvrzení |
- Neinteraktivní režim vyžaduje
--tnas-id,--accounta heslo - Pokud je vzdálený přístup již povolen, vrátí kód ukončení 4
- Výstup:
tnas-online enabled
Neinteraktivní příklad:
echo 'password' | tos tnas-online enable --tnas-id MyNAS-01 --account user@example.com --password-stdin --yes
tos tnas-online disable – Zakázání vzdáleného přístupu (vysoké riziko)
tos tnas-online disable [--yes]
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Idempotentní: Pokud je již zakázán, vrátí 0
- Výstup:
tnas-online disabled
XIV. Systémové protokoly
Poznámka: Všechny příkazy pro správu protokolů jsou vzdálené příkazy a vyžadují ověření.
Nadřazený příkaz: tos log
| Podpříkaz | Popis |
|---|---|
view | Zobrazí protokoly s filtry podle kategorie události, úrovně a počtu řádků |
clear | Vymaže protokoly (vysoké riziko, nevratné, vyžaduje --yes) |
export | Exportuje protokoly jako soubor CSV |
tos log view – Zobrazení protokolů
tos log view [event] [--level <level>] [--lines <n>] [--json]
Kategorie událostí: all / system / connect / file / samba / ftp / storage / transmit (výchozí: all)
Úrovně protokolů: all / info / warn / error (výchozí: all)
Počet řádků: Výchozí hodnota je 20 řádků
Příklad výstupu:
TIME LEVEL MODULE USER MESSAGE
2026-04-23T10:00:00+08:00 INFO system - System started
tos log clear – Vymazání protokolů (vysoké riziko)
tos log clear [event] [--level <level>] [--yes]
- Vysoce riziková operace: Nevratně smaže záznamy protokolů
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes - Výstup:
Logs cleared: system
tos log export – Export protokolů
tos log export [event] [--level <level>] [--output <path>]
- Exportuje protokoly zadané kategorie a úrovně jako soubor CSV
- Výchozí umístění je aktuální adresář; pro určení cesty použijte
--output - Výstup: Cesta k souboru a velikost souboru
XV. Systémové aktualizace
Poznámka: Příkazy aktualizace jsou vzdálené příkazy a vyžadují ověření.
Nadřazený příkaz: tos update
| Podpříkaz | Popis |
|---|---|
check | Zkontroluje dostupné aktualizace |
install | Stáhne a nainstaluje aktualizace (vysoké riziko, vyžaduje --yes) |
tos update check – Kontrola aktualizací
tos update check [--json]
- Dotáže se na dostupné systémové aktualizace
Když jsou aktualizace k dispozici:
Update available
Current Version 7.0.0447
Target Version 7.0.0559
Package Size 774.2 MB
Když je systém aktuální: System is up to date
tos update install – Instalace aktualizací (vysoké riziko)
tos update install [--yes] [--force]
- Vysoce riziková operace: Stáhne a nainstaluje systémové aktualizace, může vyžadovat restart
- Kompletní postup: Kontrola aktualizací → Stažení balíčku (s průběhem) → Instalace aktualizace (s kroky) → Výzva k restartu
- Interaktivní režim vyzve k potvrzení; neinteraktivní režim vyžaduje
--yes --forcevynutí instalaci, i když kontrola selže- Během instalace může dojít k odpojení připojení SSH
- Výstup: Informace o průběhu + konečný výsledek
XVI. Správa relací
tos login – Přihlášení a uložení relace do mezipaměti
tos login [-u <username>] [-P <password>] [--token-only]
- Bez argumentů: Interaktivní přihlášení (vyzve k zadání uživatelského jména a hesla)
--token-only: Vypíše pouze řetězec tokenu bez uložení souboru relace
# Interactive login
tos login
# Non-interactive login
tos login -u admin -P yourpassword
# Generate token (for CI/CD)
tos login -u admin -P yourpassword --token-only
tos logout – Vymazání uložené relace
tos logout
- Vymaže uloženou relaci služby TOS daemon
- Idempotentní: Pokud žádná relace neexistuje, vrátí 0
- Výstup:
Logged out
Interaktivní vs. neinteraktivní režim
CLI inteligentně rozpoznává, zda běží v terminálovém prostředí:
Interaktivní režim (terminálové prostředí)
- Postupně se dotazuje na chybějící parametry
- U vysoce rizikových operací zobrazuje výzvy k potvrzení
[y/N] - Zadávání hesla se nezobrazuje (echo je vypnuto)
Ctrl+Czruší operaci (kód ukončení 130)- Zadání
nnebo stisknutí Enter zruší operaci (kód ukončení 99)
Neinteraktivní režim (skripty/CI/CD)
- Musí být zadány všechny povinné parametry
- Vysoce rizikové příkazy musí používat
--yespro přeskočení potvrzení - Chybějící parametry nebo chybějící
--yeszpůsobí chybu (kód ukončení 1)
Formát výstupu JSON
Všechny příkazy, které podporují --json, vypisují strukturovaná data JSON pro programové zpracování.
Konvence formátu:
- Názvy polí používají formát
snake_case - Logické hodnoty jsou
true/false - Časy používají formát ISO 8601 (např.
2026-04-23T09:12:00+08:00) - Výstup JSON jde na
stdout, chybové zprávy nastderr
Příklad:
tos fileservice status --json
[
{"service_name": "smb", "enabled": true, "status": "running", "port": "445"},
{"service_name": "nfs", "enabled": false, "status": "stopped", "port": "-"}
]
Kódy ukončení
| Kód ukončení | Význam | Typické scénáře |
|---|---|---|
| 0 | Úspěch | Příkaz byl úspěšně dokončen |
| 1 | Chyba parametru | Chybějící povinné parametry, selhání ověření, chybějící --yes |
| 2 | Odepřeno oprávnění | Selhání ověření nebo nedostatečná oprávnění |
| 3 | Prostředek nenalezen | Uživatel/služba/disk neexistuje |
| 4 | Konflikt prostředku | Prostředek již existuje nebo konflikt stavu |
| 5 | Prostředek je obsazen | Probíhá operace nebo je zařízení obsazené |
| 6 | Chyba sítě | Nelze se připojit ke službě daemon |
| 7 | Časový limit | Operace překročila časový limit |
| 8 | Částečný úspěch | Dávková operace částečně uspěla |
| 9 | Vnitřní chyba | Neznámá vnitřní chyba |
| 10 | Relace vypršela | Uložená relace vypršela, je nutné se znovu přihlásit |
| 99 | Zrušeno uživatelem | V interaktivním potvrzení zvoleno Ne nebo byla operace zrušena |
| 130 | Přerušeno | Uživatel stiskl Ctrl+C |
Příklady použití
Každodenní operace
# Execute directly from any terminal
tos info
# View disk health
tos disk list
# View online users
tos user online
Dávkové operace ve skriptech
# Batch create users (import from CSV)
# userlist.csv format: username,password,group
while IFS=, read -r u p g; do
echo "$p" | tos user add "$u" --password-stdin --group "$g" --enabled true --yes
done < userlist.csv
# Schedule disk health monitoring with alerts
tos disk list --json | jq '.[] | select(.health != "normal")'
Scénáře CI/CD
# Generate a token
TOS_TOKEN=$(tos login -u admin -P $ADMIN_PASS --token-only)
export TOS_TOKEN
# Install an application
tos app install DockerEngine --path /Volume1 --yes
Volání nástroji AI
# AI tools can invoke tos commands via command line
# Example: Retrieve system status for AI analysis
tos info --json
# AI can parse JSON output and make decisions
tos disk list --json
Interní vývoj a systémová integrace
# Developers can encapsulate internal ops tools via CLI
# Example: Encapsulate disk health check function
check_disk_health() {
tos disk list --json | jq '.[] | select(.health != "normal")'
}
# Integrate CLI into internal ops platform
# Example: Retrieve system status and report to monitoring system
tos info --json | curl -X POST https://monitor.example.com/api/report -d @-
Často kladené otázky
Otázka: Vyžaduje CLI další instalaci?
Ne. CLI je předinstalováno v systémech TOS 7 a novějších. Příkaz tos můžete používat přímo z libovolného terminálu.
Otázka: Musí se CLI používat přes SSH?
Ne. CLI lze volat z libovolného terminálového rozhraní, včetně mimo jiné místních konzolí, vzdálených shellů, automatizačních skriptů a nástrojů AI.
Otázka: Lze CLI používat pouze na zařízeních TNAS?
Ne. CLI může používat jakýkoli systém se systémem TOS 7 nebo novějším.
Otázka: Proč některé příkazy vyžadují ověření a jiné ne?
Místní příkazy (např. tos info a tos fileservice) čtou/zapisují systémové soubory nebo přímo volají systemd, a proto nevyžadují ověření. Vzdálené příkazy musí komunikovat se službou TOS daemon, a proto vyžadují ověření.
Otázka: Je soubor relace v mezipaměti bezpečný?
Soubor relace (~/.tos/session.json) má oprávnění nastavená na 0600 a hesla jsou uložena zašifrovaná pomocí veřejného klíče RSA služby daemon; hesla v čistém textu se nikdy neukládají.
Otázka: Jak používám výstup JSON?
Přidejte k dotazovacím příkazům parametr --json, např. tos disk list --json.
Otázka: Jak potvrdím vysoce rizikové operace v neinteraktivním režimu?
Všechny vysoce rizikové příkazy musí obsahovat parametr --yes; jinak příkaz skončí s chybou.
Další nápověda
Každý příkaz podporuje --help pro podrobné informace o použití:
tos --help
tos user add --help
tos app install --help