2012-07-11 11 views
11

मैं एक ऐप में एक ऐप में लिखी गई फाइल को एक्सेस करने की कोशिश कर रहा हूं। chgrp एडीबी शैल (command 'chgrp' not found) में उपलब्ध नहीं है मैंने BusyBox स्थापित किया है लेकिन chgrp तक पहुंच प्राप्त करने के लिए।रूट किए गए एंड्रॉइड डिवाइस पर फ़ाइल की समूह आईडी को कैसे बदलें?

उदाहरण के लिए मैं chown app_79 file.txt कमांड का उपयोग करता हूं और यह काम करता है। लेकिन जब मैं chgrp app_79 file.txt कोशिश यह हमेशा रिटर्न की तरह chgrp: unknown group app_79

कुछ मैं एक गुच्छा Google पर और पाया कि अधिकतर Linux सिस्टम एक फ़ाइल /etc/group जो कि सिस्टम के लिए समूह जानकारी संग्रहीत करता है, लेकिन यह एंड्रॉयड में मौजूद नहीं है।

उत्तर

21

निर्मित उपकरणों का प्रयोग, बल्कि बिजीबॉक्स से, यह

chown uid.gid filename 
इन आईडी के लिए होने के साथ

शायद होगा मैट ने बताया कि संख्यात्मक हो।

+0

आईड्स को मेरे लिए संख्यात्मक नहीं होना चाहिए था। 'root.root' और 'root.system' ने मेरे डिवाइस पर उदाहरण के लिए काम किया। – BuvinJ

+0

ध्यान दें कि लिनक्स 'चाउन मालिक में: समूह फ़ाइलपाथ 'आमतौर पर इस अवधि वाक्यविन्यास बनाम काम करता है। – BuvinJ

3

कुछ जानकारी here मिली है कि कुछ समूह आईडी कैसे हार्डकोड किए जाते हैं। मुझे पिछले ज्ञान भी था कि /data/system/packages.list और /data/system/packages.xml में ऐप्स के यूआईडी शामिल थे, जो कि 10000 + x की तरह कुछ हैं। अब मुझे पता है कि एक्स वह संख्या है जो "app_" के बाद आता है जब आप ls -l।

तो, अजीब बात यह है कि आप chgrp 10079 file.txt कर सकते हैं लेकिन आप chgrp app_79 file.txt नहीं कर सकते हैं।

उम्मीद है कि यह किसी की मदद करेगा।

6

busybox chown uid.gid file.txt का उपयोग करें और नामों की बजाय संख्या के रूप में यूआईडी और जीआईडी ​​निर्दिष्ट करें। app_79 संभावना corresponds आईडी 10,079 (सुनिश्चित करें कि आप busybox ls -l -n /data/data के साथ पुनः जाँच कर सकते हैं होने के लिए) के लिए:

busybox chown 10079.10079 file.txt 
संबंधित मुद्दे