Menulis izin di jalur tertentu, seperti kartu SD (extSdCard)

10

Dalam upaya untuk mentransfer file dari server jauh ke perangkat Android saya mengalami masalah izin.

Ternyata saya tidak memiliki izin menulis di lokasi kartu SD (/ mnt / extSdCard).

Saya menggunakan SSHDroid sebagai server ssh pada perangkat Android dan vSSH sebagai klien ssh untuk terlibat dalam ssh pada perangkat Android.

Karena kedua sudo dan su tampaknya tidak ada pada aplikasi server ssh (SSHDroid), saya bertanya-tanya bagaimana saya dapat mengubah / mendapatkan izin untuk menulis ke lokasi kartu SD. Atau apakah hak akses root tidak cukup untuk mengubah izin menulis, dan apakah ini dengan demikian semata-mata diatur oleh OS Android, jadi pembatasan OS?

Yang bisa saya lakukan adalah menulis ke jalur home dari server ssh (SSHDroid). Namun, jalur ini sangat rumit dan tidak dapat dijangkau dari API filebrowser Android biasa. Ini adalah alasan mengapa saya ingin mentransfer file ke jalur yang dapat diakses , seperti kartu SD.

Suplemen. Versi Android adalah 4.4.2. Versi kernel adalah 3.4.0-1539356 # 1.

Mussé Redi
sumber
3
Itu pembatasan Kitkat (mereka menyebutnya "keamanan", tetapi dalam kenyataannya itu agak "force2cloud"). Anda tidak akan dapat mengatasinya tanpa me-rooting perangkat Anda. Kecuali untuk memilih SD-Card internal Anda , karena di sana Anda dapat menulis.
Izzy
@Izzy Jika Anda akan memasukkannya ke dalam jawaban maka pertanyaan ini akan menjadi pertanyaan yang dijawab .
Mussé Redi
Selesai, dengan beberapa detail yang disediakan. Saya senang memberi Anda jawaban yang lebih baik (dengan solusi yang lebih mudah), tetapi Google melarang itu ...
Izzy
Betulkah? Saya pikir mereka penggemar berat open source.
Mussé Redi
"Lakukan saja apa yang saya katakan, jangan lakukan seperti yang saya lakukan". Bedakan antara bunga dan buah. Diumumkan sebagai "open source", Google mencampurkan banyak hal eksklusif, antara lain. Dan "kebebasan" semakin dibatasi dengan setiap versi Android baru. Tapi itu bukan topik untuk di sini :)
Izzy

Jawaban:

9

Salah satu batasan yang diperkenalkan dengan adalah memindahkan WRITE_EXTERNAL_STORAGEizin ke "SignatureOrSystem" tingkat perlindungan, yang berarti bahkan jika diminta, "aplikasi normal" (yaitu aplikasi yang Anda instal sendiri sebagai "pengguna normal" tanpa spesialisasi root) tidak akan lagi mendapatkannya. Jadi ada beberapa hal yang dapat Anda lakukan untuk "mengatasi" ini:

  • jelas: me-rooting perangkat, dan menghapus batas ini
  • menggunakan direktori "pribadi" aplikasi sebagai penyimpanan untuk file yang disinkronkan (yaitu <sdcard>/Android/data/<package_name>/, karena ini adalah satu-satunya tempat aplikasi dapat menulis di SD dengan Kitkat)
  • menggunakan kartu sebagai penyimpanan (karena di sini batasannya tidak berlaku)
Izzy
sumber
Apa kerugian dari rooting perangkat android? Apakah garansi menjadi usang?
Mussé Redi
Yang paling disukai. Di UE ada hukum untuk itu, yang membedakan antara garansi dan jaminan. Salah satunya ditegakkan oleh hukum (dan tidak dapat dihancurkan dengan rooting), yang lainnya adalah tawaran tidak wajib dari pabrikan, dan dengan itu keputusan dibuat olehnya. Terlihat berbeda di luar UE, jadi tidak ada jawaban yang pasti di sini.
Izzy
1

Anda selalu dapat mengeluarkan sdcard eksternal dari perangkat, dan colokkan ke pc Anda. Sebagian besar pc tidak mendukung kartu micro-sd, tetapi Anda dapat menggunakan adaptor. Info lebih lanjut di sini: https://en.wikipedia.org/wiki/Secure_Digital#Micro

Jika sdcard eksternal terpasang di komputer Anda, maka Anda dapat membaca dan menulis semua file di dalamnya :-)

guettli
sumber
Itu adalah jenis latihan yang lebih baik untuk melihat seberapa jauh Anda bisa menggunakan ssh pada perangkat android daripada mengakses konten pada kartu SD.
Mussé Redi