Viết quyền trên các đường dẫn nhất định, như thẻ SD (extSdCard)


10

Trong một nỗ lực để chuyển một tập tin từ một máy chủ từ xa sang một thiết bị Android, tôi đã gặp phải vấn đề về quyền.

Hóa ra tôi không có quyền ghi tại vị trí của thẻ SD (/ mnt / extSdCard).

Tôi đang sử dụng SSHDroid làm máy chủ ssh trên thiết bị Android và vSSH với tư cách là khách hàng ssh để tham gia vào ssh trên thiết bị Android.

Vì cả sudo và su dường như không có trên ứng dụng máy chủ ssh (SSHDroid), tôi tự hỏi làm thế nào tôi có thể thay đổi / xin phép ghi vào vị trí thẻ SD. Hoặc là đặc quyền gốc không đủ để thay đổi quyền ghi và do đó điều này chỉ chịu sự chi phối của HĐH Android, do đó, giới hạn của HĐH?

Những gì tôi có thể làm là viết vào đường dẫn nhà của máy chủ ssh (SSHDroid). Tuy nhiên, đường dẫn này rất cồng kềnh và không thể truy cập được từ API filebrowser Android thông thường. Đây là lý do tại sao tôi muốn chuyển tệp sang đường dẫn có thể truy cập , như thẻ SD.

Phần bổ sung. Phiên bản Android là 4.4.2. Phiên bản kernel là 3.4.0-1539356 # 1.


3
Đó là một hạn chế của Kitkat (họ gọi nó là "bảo mật", nhưng thực tế nó đúng hơn là "force2cloud"). Bạn sẽ không thể làm việc xung quanh mà không cần root thiết bị của mình. Ngoại trừ việc chọn Thẻ SD nội bộ của bạn , bởi vì ở đó bạn có thể viết.
Izzy

@Izzy Nếu bạn muốn đặt câu trả lời thì câu hỏi này sẽ là câu hỏi được trả lời .
Mussé Redi

Xong, với một vài chi tiết được cung cấp. Tôi muốn cung cấp cho bạn câu trả lời tốt hơn (với giải pháp thuận tiện hơn), nhưng Google cấm điều đó ...
Izzy

Có thật không? Tôi nghĩ họ là một fan hâm mộ lớn của tinh thần nguồn mở.
Mussé Redi

"Cứ làm như tôi nói, đừng làm như tôi". Phân biệt giữa hoa và quả. Được tuyên bố là "nguồn mở", Google kết hợp rất nhiều thứ độc quyền, trong số những thứ khác. Và "tự do" bị hạn chế hơn với mỗi phiên bản Android mới. Nhưng đó không phải là chủ đề ở đây :)
Izzy

Câu trả lời:


9

Một trong những hạn chế được giới thiệu với là chuyển WRITE_EXTERNAL_STORAGEquyền cho phép "SignatureOrSystem" ở cấp độ bảo vệ, có nghĩa là ngay cả khi được yêu cầu, "ứng dụng thông thường" (nghĩa là bạn tự cài đặt là "người dùng bình thường" mà không cần bất kỳ đặc quyền gốc nào) lâu hơn được cấp nó. Vì vậy, có rất ít điều bạn có thể làm để "giải quyết" việc này:

  • rõ ràng: root thiết bị và loại bỏ giới hạn này
  • sử dụng thư mục "cá nhân" của ứng dụng làm nơi lưu trữ cho các tệp đồng bộ hóa của bạn (nghĩa là <sdcard>/Android/data/<package_name>/, vì đây là nơi duy nhất ứng dụng có thể ghi trên SD bằng Kitkat)
  • sử dụng thẻ của bạn làm nhớ (như ở đây giới hạn không áp dụng)

Nhược điểm của việc root thiết bị Android là gì? Có bảo hành trở nên lỗi thời?
Mussé Redi

Nhiều khả năng. Ở EU có luật về điều đó, phân biệt giữa bảo hành và bảo hành. Một trong số chúng được thực thi theo luật (và không thể bị lỗi thời bởi root), cái còn lại là một đề nghị không bắt buộc của nhà sản xuất, và đó là quyết định của anh ta. Nhìn khác bên ngoài EU, vì vậy không có câu trả lời chắc chắn ở đây.
Izzy

1

Bạn luôn có thể lấy sdcard bên ngoài ra khỏi thiết bị và cắm nó vào máy tính của bạn. Hầu hết các máy tính không hỗ trợ các thẻ micro, nhưng bạn có thể sử dụng bộ chuyển đổi. Thêm thông tin tại đây: https://en.wikipedia.org/wiki/Secure_Digital#Micro

Nếu sdcard bên ngoài được gắn trong máy tính của bạn, thì bạn có thể đọc và ghi tất cả các tệp trên đó :-)


Nó giống như một bài tập để xem bạn có thể đi bao xa với ssh trên thiết bị Android thay vì truy cập nội dung trên thẻ SD.
Mussé Redi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.