কেন আমি এসডি কার্ডের কোনও ফাইলে এক্সিকিউটিভ অনুমতিগুলি অর্পণ করতে পারি না?


10
shell@android:/sdcard/SW # ls -l
-rw-rw-r-- root     sdcard_rw      128 2012-09-22 11:42 usb0config.sh
shell@android:/sdcard/SW # chmod 777 usb0config.sh                             
shell@android:/sdcard/SW # ls -l
-rw-rw-r-- root     sdcard_rw      128 2012-09-22 11:42 usb0config.sh
shell@android:/sdcard/SW # 

কেন আমি এসডি কার্ডের কোনও ফাইলে এক্সিকিউটিভ অনুমতিগুলি অর্পণ করতে পারি না?

$ adb shell su -c mount |grep -si sdcard
/dev/block/vold/179:97 /mnt/ext_sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/ext_sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/fuse /mnt/sdcard fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0


$ adb shell su -c "mount -t vfat -o umask=0000 /dev/fuse /mnt/sdcard"
mount: Block device required

এখন এটি সফলভাবে পুনঃনির্মাণ মনে হচ্ছে।

$ adb shell su -c "mount -t vfat -o remount,umask=0000 /dev/fuse /mnt/sdcard"

তবে ফাইলটি এখনও 777 মোডে বরাদ্দ করা যায় না।

shell@android:/sdcard/Sw # ls -l
-rw-rw-r-- root     sdcard_rw      128 2012-09-22 11:42 usb0config.sh
shell@android:/sdcard/Sw # chmod 777 usb0config.sh                             
shell@android:/sdcard/Sw # ls -l
-rw-rw-r-- root     sdcard_rw      128 2012-09-22 11:42 usb0config.sh

পুনঃমাউন্টের আগে তুলনা করে মাউন্ট তথ্য পরিবর্তন হয় না।

$ adb shell su -c mount |grep -si sdcard
/dev/block/vold/179:97 /mnt/ext_sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/ext_sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/fuse /mnt/sdcard fuse rw,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

উত্তর:


15

আপনি যদি আপনার ডিভাইসটির সাথে অস্বাভাবিক কিছু না করেন, এসডি কার্ডটি একটি FAT ফাইল সিস্টেম হিসাবে ফর্ম্যাট হবে, যা * নিক্স ফাইল অনুমতিগুলি সমর্থন করে না। এমআইটি-র একজন অধ্যাপকের কাছ থেকে এই লিনাক্স এফএকিউ এন্ট্রিটি কিছুটা ব্যাখ্যা করে এবং এছাড়াও আপনি কীভাবে ডিভাইসের অনুমতি মোডটি পরিবর্তন করতে মাউন্ট বিকল্পগুলি ব্যবহার করতে পারবেন তা ব্যাখ্যা করে (এটিতে ডিভাইসের সমস্ত ফাইল / ফোল্ডারগুলি অবশ্যই মূলের প্রয়োজন হবে) । এছাড়াও, অ্যান্ড্রয়েডে এসডি কার্ডটি -noexecপতাকা সহ ডিফল্টরূপে মাউন্ট করা হয় ।

এক্সিকিউট বিটের জন্য আপনি সম্ভবত একটি উমাস্কের সাথে পুনঃনির্মাণ করতে চাইবেন 0000, যেহেতু উমাস্ক মূলত আপনার যে অনুমতিগুলি চান তা দ্বৈত নোট (তাই উমাস্ক 0000বলে যে কোনও অনুমতিকে মাস্ক করবেন না , তাদের সকলকে অনুমতি দিন)। স্বাক্ষরিত, তবে অস্থায়ীভাবে এটি করা এর লাইনের সাথে কিছু হবে:

mount -t vfat -o umask=0000 /dev/your/sdcard/device /mnt/sdcard

/mnt/sdcardআপনার ডিভাইসের উপর নির্ভর করে মাউন্ট পয়েন্টটি কিছুটা আলাদা থেকে পরিবর্তিত হতে পারে । আবার, যদিও আমি বিশ্বাস করি mountযে এর জন্য আপনার কাছে মূল অনুমতি থাকা দরকার।


আমি আপনার প্রদত্ত কমান্ডটি ব্যবহার করে পুনরায় মাউন্টের চেষ্টা করছি, তবে ব্যর্থ হয়েছে, দয়া করে আমার প্রশ্নের পরিপূরক দেখুন।
ভিক্টর এস

আমার প্রশ্নের আপডেট দেখুন।
ভিক্টর এস

1
@ ভিক্টরস: দেখে মনে হচ্ছে আপনার অভ্যন্তরীণ এবং বাহ্যিক এসডি কার্ড উভয়ই রয়েছে। অভ্যন্তরীণ সাথে একইভাবে চিকিত্সা করা হয় না, এবং আপনি যে অনুমতিগুলি চান তা পুনরায় মাউন্ট করার কোনও উপায় আছে কিনা তা আমি জানি না। বিকল্পভাবে, যদিও, আপনি sh: কে অনুরোধ করে আপনার স্ক্রিপ্টটি কার্যকর করতে পারেন sh usb0config.sh
শে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.