Schreibrechte auf bestimmte Pfade, wie die SD-Karte (extSdCard)

Bei dem Versuch, eine Datei von einem Remote-Server auf ein Android-Gerät zu übertragen, stieß ich auf Berechtigungsprobleme.

Es stellt sich heraus, dass ich keine Schreibrechte auf den Speicherort der SD-Karte (/mnt/extSdCard) habe.

Ich verwende SSHDroid als SSH-Server auf dem Android-Gerät und vSSH als SSH-Client, um SSH auf dem Android-Gerät zu verwenden.

Da sowohl sudo als auch su in der ssh-Server-App (SSHDroid) zu fehlen scheinen, frage ich mich, wie ich die Berechtigung zum Schreiben auf den Speicherort der SD-Karte ändern/erhalten kann. Oder reicht das Root-Privileg nicht aus, um Schreibrechte zu ändern, und wird dies daher ausschließlich vom Android-Betriebssystem geregelt, also eine Einschränkung des Betriebssystems?

Was ich tun kann , ist, in den Home-Pfad des SSH-Servers (SSHDroid) zu schreiben. Dieser Pfad ist jedoch sehr umständlich und kann nicht vom regulären Android-Dateibrowser aus erreicht werden. Aus diesem Grund wollte ich die Datei auf einen zugänglichen Pfad wie die SD-Karte übertragen.

Ergänzung. Die Android-Version ist 4.4.2. Die Kernel-Version ist 3.4.0-1539356#1.

Das ist eine Einschränkung von Kitkat (sie nennen es "Sicherheit", aber in Wirklichkeit ist es eher eine "force2cloud"). Sie können das nicht umgehen, ohne Ihr Gerät zu rooten. Außer bei der Auswahl Ihrer internen SD-Karte, denn dort können Sie schreiben.
@Izzy Wenn Sie das in eine Antwort aufgenommen hätten, wäre diese Frage eine beantwortete Frage .
Fertig, mit ein paar weiteren Details versehen. Ich hätte Ihnen gerne eine bessere Antwort gegeben (mit einer bequemeren Lösung), aber Google verbietet das ...
Wirklich? Ich habe ihnen beigebracht, dass sie ein großer Fan des Open-Source-Gedankens sind.
"Tu einfach, was ich sage, tu nicht, was ich tue". Unterscheiden Sie zwischen den Blumen und den Früchten. Als "Open Source" proklamiert, mischt Google unter anderem viele proprietäre Sachen ein. Und „Freiheit“ wird mit jeder neuen Android-Version eingeschränkter. Aber das ist hier kein Thema :)

Antworten (2)

Eine der mit eingeführten Einschränkungen war das Verschieben der WRITE_EXTERNAL_STORAGEBerechtigung auf die Schutzstufe „SignatureOrSystem“, was bedeutet, dass eine „normale App“ (dh eine, die Sie selbst als „normaler Benutzer“ ohne Root-Spezialitäten installieren) auch auf Anfrage nicht funktioniert länger bekommen es gewährt. Es gibt also nur sehr wenige Dinge, die Sie tun können, um dies zu "umgehen":

  • offensichtlich: das Gerät rooten und dieses Limit entfernen
  • Verwendung des „persönlichen“ Verzeichnisses der App als Speicher für Ihre synchronisierten Dateien (dh <sdcard>/Android/data/<package_name>/, da dies der einzige Ort ist, an dem eine App mit Kitkat auf SD schreiben kann)
  • Verwendung Ihrer Karte als Speicher (da hier die Einschränkung nicht gilt)
Welche Nachteile hat das Rooten eines Android-Geräts? Verfällt die Garantie?
Höchstwahrscheinlich. In der EU gibt es dafür ein Gesetz, das zwischen Gewährleistung und Garantie unterscheidet. Das eine ist gesetzlich erzwungen (und kann nicht durch Rooten überholt werden), das andere ist ein unverbindliches Angebot des Herstellers und damit die von ihm getroffene Entscheidung. Außerhalb der EU sieht es anders aus, daher hier keine eindeutige Antwort.

Sie können die externe SD-Karte jederzeit aus dem Gerät nehmen und an Ihren PC anschließen. Die meisten PCs unterstützen keine Micro-SD-Karten, aber Sie können einen Adapter verwenden. Mehr Infos hier: https://en.wikipedia.org/wiki/Secure_Digital#Micro

Wenn die externe SD-Karte in Ihrem PC gemountet ist, können Sie alle Dateien darauf lesen und schreiben :-)

Es war eher eine Übung zu sehen, wie weit man mit ssh auf einem Android-Gerät kommen kann, als auf den Inhalt der SD-Karte zuzugreifen.