Termux αποθήκευση: κοινόχρηστοι φάκελοι και συμβολικοί σύνδεσμοι — DedSec Project
Η αποθήκευση Android διαφέρει από το κανονικό Linux home Δύο περιβάλλοντα αρχείων Ο προσωπικός φάκελος $HOME και το $PREFIX του Termux υποστηρίζουν εργαλεία και άδειες τύπου Unix. Αντίθετα…
Η αποθήκευση Android διαφέρει από το κανονικό Linux home
Δύο περιβάλλοντα αρχείων
Ο προσωπικός φάκελος $HOME και το $PREFIX του Termux υποστηρίζουν εργαλεία και άδειες τύπου Unix. Αντίθετα, οι κοινόχρηστοι φάκελοι Android, συχνά διαθέσιμοι μέσω $HOME/storage/shared, περνούν από δικαιώματα εφαρμογών και ειδικό filesystem. Ένα αρχείο εικόνας μπορεί να διαβάζεται, αλλά η άμεση εκτέλεση script από εκεί να αποτυγχάνει. Κράτησε τον ενεργό κώδικα μέσα στο $HOME και αντέγραψε τα τελικά αρχεία προς κοινόχρηστη αποθήκευση μόνο όταν χρειάζεται.
printf 'HOME=%s\nPREFIX=%s\n' "$HOME" "$PREFIX"
pwd
ls -ld "$HOME" "$HOME/storage" "$HOME/storage/shared" 2>&1
stat "$HOME" 2>&1
Πρώτα το δικαίωμα Android
Η termux-setup-storage ζητά την κατάλληλη πρόσβαση και δημιουργεί βοηθητικές διαδρομές όπου αυτό υποστηρίζεται. Αν απορριφθεί το αίτημα, έλεγξε τα permissions από τις ρυθμίσεις της εφαρμογής. Το chmod 777 δεν παρακάμπτει τους κανόνες scoped storage. Με ls -l και readlink μπορείς να διακρίνεις έναν συμβολικό σύνδεσμο που δεν έχει στόχο από μία υπαρκτή διαδρομή με απαγορευμένη πρόσβαση.
Πείραμα με δύο διαφορετικές θέσεις
Δημιούργησε ένα δικό σου μικρό αρχείο μέσα σε προσωρινό φάκελο του $HOME. Έλεγξε πρώτα ότι γράφεται και διαβάζεται εκεί. Έπειτα προσπάθησε να αντιγράψεις μόνο αυτό το αρχείο σε κοινόχρηστο φάκελο για τον οποίο έχεις δικαίωμα. Αν αποτύχει μόνο η δεύτερη κίνηση, αναζήτησε πρόβλημα πρόσβασης Android και όχι βλάβη της Python. Σημείωσε έκδοση Android, ακριβές path και τι επέτρεψε ο χρήστης.
Τι αποφεύγουμε
Μην εκτελείς μαζικό chmod, chown ή rm μέσα στο /storage. Για αρχείο από Downloads, έλεγξε την αρχική θέση και αντέγραψέ το σε δικό σου project folder. Η απομόνωση αποθήκευσης του Android είναι σχεδιασμένη προστασία και δεν απαιτεί root για τη συνηθισμένη χρήση.