Banana Studio
News · BS Manager

SSH Server 0.13.0: la tua shell SSH ora resta nelle sue cartelle

SSH Server 0.13.0 fa seguire alla shell SSH le stesse regole di SFTP: la shell di ogni utente vede solo le cartelle che gli assegni, le cartelle di sola lettura restano di sola lettura e i file nascosti restano nascosti.

SSH Server 0.13.0: la tua shell SSH ora resta nelle sue cartelle
On this page

SSH Server 0.13.0: la tua shell SSH ora resta nelle sue cartelle

SSH Server 0.13.0 è ora disponibile su Google Play per telefoni, tablet e Android TV. Questa versione chiude una lacuna in cui alcuni di voi si sono imbattuti: la shell SSH ora segue le stesse regole di SFTP. La shell di ogni utente vede solo le cartelle che hai configurato per lui, e nient'altro.

Una panoramica di un minuto sulle novità della 0.13.0.

Perché è importante

In SSH Server assegni a ogni utente un elenco di cartelle. SFTP ha sempre rispettato quell'elenco: un utente a cui era stato dato solo Download vedeva Download e nient'altro.

La shell SSH no. Quando lo stesso utente apriva un terminale con ssh, la shell partiva nella cartella privata dell'app e poteva curiosare in tutto ciò che l'app stessa poteva raggiungere. Era fonte di confusione («Perché non trovo la mia cartella Download nella shell?») e significava che l'elenco delle cartelle non era un vero limite per chi usava la shell.

Dalla 0.13.0, l'elenco delle cartelle è il limite ovunque.

Prima: la shell poteva esplorare tutto ciò che l'app poteva raggiungere. Ora: solo le cartelle dell'utente, Download (scrivibile) e Photos (sola lettura)

Cosa vede ora la shell

La shell vede esattamente le cartelle che SFTP mostra a quell'utente:

  • Una cartella: appare come /. Se dai a un utente /storage/emulated/0, allora / nella sua shell è la tua memoria interna.
  • Più cartelle: / le elenca con il loro alias. Un utente con Download e DCIM (mostrata come Photos) vede esattamente due cartelle in /: Download e Photos.
  • Tutto il resto è sparito. Il resto della tua memoria, i dati dell'app stessa e quelli di altre app semplicemente non ci sono. I percorsi che porterebbero all'esterno, inclusi .. e i trucchi di Linux tramite /proc, restano dentro le cartelle dell'utente.

I tuoi soliti strumenti della shell continuano a funzionare: ls, cd, cp, mv, find, cat, pipe, script e processi in background. I file di sistema di Android restano leggibili perché quei comandi possano funzionare, proprio come in qualsiasi shell Android.

Ecco una sessione reale su SSH Server 0.13.0:

Una sessione SSH reale: pwd mostra /, ls / mostra Download e Photos, la scrittura in Photos è rifiutata, /storage/emulated/0 non esiste

Valgono anche le cartelle di sola lettura e i file nascosti

Due impostazioni che già conosci da SFTP ora funzionano anche nella shell:

  • Writable: se la casella Writable di una cartella non è spuntata, la shell può aprirla, leggerla e copiarne i file, ma non può creare, modificare, rinominare o eliminare nulla al suo interno. Vedrai Read-only file system, come su un disco di sola lettura.
  • Show hidden files: se è disattivata per un utente, i file e le cartelle il cui nome inizia con un punto (.ssh, .cache, …) vengono esclusi dagli elenchi anche nella shell: ls -a, find, il completamento con il tasto Tab. Come in SFTP, un file nascosto può comunque essere aperto con il suo nome esatto.

La schermata Users: l'utente ha Download (Writable spuntato) e Photos (Writable non spuntato)

Come configurarlo

Non c'è nulla di nuovo da attivare. La shell usa le cartelle che hai già impostato per ogni utente:

  1. Apri SSH Server e tocca Users.
  2. Tocca la matita accanto a un utente.
  3. In Access path, tocca Add new e scegli una cartella. Ripeti per ogni cartella che l'utente deve avere.
  4. Deseleziona Writable per qualsiasi cartella che debba essere di sola lettura.
  5. Tocca ✓ per salvare. Al successivo accesso di quell'utente, la sua shell mostrerà esattamente queste cartelle.

Non vuoi che un utente abbia affatto una shell? L'interruttore Disable shell nella stessa schermata la disattiva ancora.

Funziona ovunque, senza root

La nuova shell funziona senza root su ogni dispositivo supportato da SSH Server: telefoni, tablet e Android TV, con processori ARM e x86 a 64 e 32 bit. L'abbiamo testata da Android 6 ad Android 16.

Su alcuni dispositivi molto vecchi, soprattutto Android 6 e 7 con un kernel di sistema obsoleto, al sistema manca una funzione di cui la shell ha bisogno. Lì, SSH Server non ripiega su una shell senza restrizioni: la sessione mostra un breve messaggio che la shell non può avviarsi e poi si chiude. SFTP continua a funzionare normalmente su questi dispositivi.

Due correzioni

SFTP non chiude più la sessione per un percorso errato. Se aprivi un percorso fuori dalle tue cartelle, ad esempio ls /storage/emulated/0, la connessione poteva chiudersi con Connection closed. Ora ricevi un normale messaggio «not found» e continui a lavorare.

Prima: Connection closed. Ora: «not found», e la sessione continua

Users e SFTP Logs stanno nello schermo su Android 15 e versioni successive. Nelle versioni più recenti di Android, il titolo e la freccia indietro di queste due schermate scivolavano sotto la barra di stato. Ora si trovano sotto di essa.

Su Android 15, il titolo della schermata Users scivolava sotto la barra di stato; ora si trova sotto di essa

Domande

I miei file erano in /storage/emulated/0. Dove sono adesso? Nelle cartelle del tuo utente. Esegui ls / per vederli. Se hai dato all'utente tutta la tua memoria interna, è / stesso.

La shell dice che non è disponibile o non può avviarsi. Cosa posso fare? Verifica che l'utente abbia almeno una cartella in Access path e che SSH Server abbia il permesso di accedere ai tuoi file. Se entrambe le cose sono a posto, il tuo dispositivo è uno dei pochi senza la funzione del kernel di cui la shell ha bisogno; SFTP funziona comunque.

Questo cambia SFTP? No. SFTP funzionava già così. È cambiata solo la shell, oltre alla correzione di SFTP qui sopra.

Scaricalo

SSH Server 0.13.0 è in distribuzione su Google Play da ora:

Grazie a tutti coloro che ci hanno scritto riguardo alla shell e a SFTP. Continuate a inviarci i vostri commenti!

Videos

SSH Server 0.13.0: le novità

Related posts