स्टार्टअप पर माउंट NTFS विभाजन, मालिक के रूप में गैर-रूट उपयोगकर्ता के साथ


28

मैं वर्तमान में स्टार्टअप पर NTFS विभाजन बढ़ा रहा हूं, निम्नलिखित लाइन में / etc / fstab का उपयोग करके:

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

मेरे Ubuntu 11.10 इंस्टॉलेशन के लिए, ऐसा लगता है जैसे सभी फाइलें और फ़ोल्डर्स स्वामित्व में हैं root- और चूंकि NTFS वास्तव में समान अधिकार प्रबंधन प्रणाली का समर्थन नहीं करता है, इसलिए कोई तरीका नहीं है कि मैं इसे माउंट पूरा होने के बाद बदल सकता हूं। कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, ls -lNTFS विभाजन पर कहीं भी प्रत्येक फ़ाइल और फ़ोल्डर को स्वामित्व के रूप में सूचीबद्ध करेगा root:root

हालाँकि, यह मेरे लिए कुछ समस्याओं का कारण बनता है। सबसे विशेष रूप से, मेरे खाते (कहा जाता है tomas) के तहत चलने वाले कुछ एप्लिकेशन एक्सेस अधिकारों के बारे में शिकायत करते हैं। इसके अलावा, जब भी मैं अपने ext3 विभाजन में से एक से NTFS विभाजन में कॉपी ( cp) या स्थानांतरित ( mv) फाइल करने की कोशिश करता हूं, तो मैं त्रुटि के बिना कह सकता हूं

mv: preserving times for `[path to new file]`: Operation not permitted

या, इसी तरह

mv: preserving permissions for ...

क्या रूट की मदद के बदले मेरे नाम पर विभाजन बढ़ेगा? यदि हां, तो मैं इसे fstab में कैसे पूरा करूं?


अद्यतन करें:

मैंने अब सुझावों के अनुसार विकल्पों को बदल दिया है, और इस पर पहुंचे:

nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas

ls -lअब रूट के बजाय मेरे द्वारा स्वामित्व वाली सभी फ़ाइलों को दिखाता है, और लगता है कि मेरे द्वारा हल करने से पहले कुछ समस्याएं थीं। हालांकि, उनमें से सभी नहीं।

जब मैं ग्रहण शुरू करता हूं, मुझे एक त्रुटि मिलती है कि एंड्रॉइड-एसडीके से संबंधित एक फ़ाइल नहीं चल सकती है: अनुमति से इनकार किया गया। ls -lमुझे फ़ाइल के बारे में निम्नलिखित बताता है:

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

यह वह तरीका है जो मैं चाहता हूं। लेकिन अगर मैं इसे ( ./adbएक टर्मिनल में) चलाने की कोशिश करता हूं तो मुझे अनुमति से वंचित त्रुटियां भी होती हैं। लेकिन अगर मैं इसे चलाता हूं sudo, तो यह काम करता है (मेरा मानना ​​है - कम से कम यह मुझे एक त्रुटि संदेश नहीं देता है, लेकिन यह मुझे बिल्कुल भी कोई आउटपुट नहीं देता है, जो मुझे लगता है कि यह नहीं होना चाहिए ...)

उपरोक्त फ़ाइल, किसी के लिए निष्पादन की अनुमति के साथ , फिर भी किसी और के द्वारा निष्पादन योग्य rootक्यों नहीं है ? मैं फ़ाइल सिस्टम को माउंट करने के तरीके को कैसे बदलूँ?


अपडेट 2:

ठीक है, मैं अब थोड़ा आगे आया हूं। इन विकल्पों के साथ बढ़ते हुए

nls=iso8859-1,permissions,users,auto

मुझे सभी अनुमतियाँ मिलीं, जिस तरह से मैं उनसे उम्मीद करता हूं, chownऔर chmodवास्तव में फाइलों पर सेटिंग्स बदलें (कम से कम ls -l) = डी के अनुसार

लेकिन मेरे सिस्टम अभी भी एक अजीब तरह से व्यवहार करता है। adbस्क्रिप्ट फ़ाइल के लिए अनुमतियाँ ऊपर के रूप में आती हैं, लेकिन न तो मैं और न ही ग्रहण इसे "अनुमति अस्वीकृत" त्रुटियों के बिना चला सकते हैं। लेकिन जहां तक ​​मैं देख सकता हूं कि फ़ाइल में सभी आवश्यक झंडे सेट हैं ( o=rwxपर्याप्त होना चाहिए, सही?)। यह काम क्यों नहीं करता है?


अपडेट ३

ठीक है, मुझे निम्नलिखित विकल्पों के साथ, उबंटू पक्ष पर काम करने वाला सब कुछ मिला:

nls=iso8859-1,permissions,users,auto,exec

हालाँकि, जब मैं विंडोज़ से पार्टीशन पर फाइल एक्सेस करने की कोशिश करता हूँ, तो सुरक्षा सेटिंग्स गड़बड़ हो जाती हैं। उन सभी फाइलों पर (जिनकी मैंने कुछ जांच की है) नामक एक नया खाता Account Unknown(long GUID)उपयोगकर्ताओं की सूची में जोड़ा गया है, और पूर्ण अधिकार हैं। अधिकांश अन्य उपयोगकर्ताओं के लिए रिगेट्स कम कर दिए जाते हैं ताकि मेरे पास वह सामान न हो जिसका मुझे उम्मीद है। विशेष रूप से "हर कोई" को अब "ट्रैवर्स फ़ोल्डर / निष्पादित" करने का अधिकार नहीं है।

यह केवल विभाजन का चयन करके हल किया जा सकता है और सभी को रूट फ़ोल्डर पर कुछ भी करने की अनुमति दे सकता है, और फिर इसे पुनरावर्ती रूप से करने के लिए कह सकता है, लेकिन मैं ऐसा नहीं करूंगा क्योंकि मुझे डर है कि इसे पूरा करने में कई दिन लगेंगे ...


2
से माउंट (8) : users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid)। इसलिए execअपने विकल्पों में जोड़ें और मेरा मानना ​​है कि निष्पादन के लिए अनुमति से इनकार मुद्दे को हल किया जाना चाहिए।
बेनेह

क्या आपने कभी अपडेट 3 के बाद इसे हल किया? ... मैंने एक बिंदु पर अपने लिनक्स सिस्टम के rsync बैकअप को एक अतिरिक्त ntfs ड्राइव पर करने की कोशिश की, जो मेरे पास था, लेकिन बहुत खोज के बाद, इस निष्कर्ष पर पहुंचा कि मैं लिनक्स फाइल सिस्टम की पूरी जानकारी कभी नहीं डाल सका एक ntfs fs पर। (ठीक है, शायद मैं करीब आ सकता हूं जैसा कि आपने ऊपर किया है, लेकिन अंत में लिनक्स एनटीएफएस पर बहुत अच्छी तरह से मैप नहीं करता है।)
अण्डाकार दृश्य 1

@Elipticalview: यह बहुत पहले का है, और मेरे पास अब समान कंप्यूटर नहीं है। क्या आपने स्वीकृत उत्तर की कोशिश की?
टॉमस एशन

जवाबों:


25

विकल्प कॉलम में permissionsऔर auto(और शायद userया शायद users) जोड़ें

nls=iso8859-1,permissions,users,auto
  • permissions: (NTFS-3G विकल्प) निर्मित फ़ाइलों पर मानक अनुमतियाँ सेट करें और मानक पहुँच नियंत्रण का उपयोग करें।
  • auto: बूट पर और से माउंट किया जाएगा mount -a
  • user: एक सामान्य उपयोगकर्ता को फाइलसिस्टम माउंट करने की अनुमति दें
  • users: हर उपयोगकर्ता को फाइलसिस्टम को माउंट और अनमाउंट करने की अनुमति दें

फिर फ़ाइल सिस्टम का स्वामित्व बदलें:

sudo chown -R thomas:thomas /media/data 

में मेरी लाइन /etc/fstab

/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0

माउंट और सूची की अनुमति

sudo mount /media/ntfs
Using default user mapping

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs

स्वामित्व बदलें और नई अनुमतियां सूचीबद्ध करें

bodhi@ufbt:~$ sudo chown bodhi:bodhi /media/ntfs

bodhi@ufbt:~$ ls -l /media

drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs

डिफ़ॉल्ट रूप से, ntfs-3G विभाजन noexec, nosuid और नोडव को मापता है।

  • noexec: घुड़सवार फाइलसिस्टम पर किसी भी बायनेरिज़ के प्रत्यक्ष निष्पादन की अनुमति न दें।
  • nosuid: सेट-यूज़र-आइडेंटिफ़ायर या सेट-ग्रुप-आइडेंटिफ़ायर बिट्स को प्रभावी होने की अनुमति न दें।
  • nodev: फ़ाइल सिस्टम पर वर्णों की व्याख्या या विशेष उपकरणों को ब्लॉक न करें।

इसे ओवरराइड करने और फ़ाइलों को निष्पादित करने की अनुमति देने के लिए, उपयोग करें exec

/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0

अब हम प्राप्त करते हैं

bodhi@ufbt:~$ ls -l /media/ntfs

-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file

bodhi@ufbt:~$ /media/ntfs/file
It works

Hm ... जोड़ने के बाद fstab (hte विकल्प कॉलम को निम्नलिखित बनाते हुए:) nls=iso8859-1,permissions,users,umask=000और रिबूटिंग मैं अब त्रुटि संदेशों के बिना फ़ाइलों को स्थानांतरित और कॉपी कर सकता हूं। सभी फाइलें अभी भी root:rootहालांकि, के बाद भी स्वामित्व के रूप में दिखाई देती हैं sudo chown -R tomas:tomas /media/data। यह अब के लिए एक समस्या नहीं लगती, लेकिन जिज्ञासा से बाहर: ऐसा क्यों है?
टॉमस असचन

मुझे लगता है कि आपके कारणumask=000
पैंथर

नहीं, umask=000के बराबर है chmod 777- umask उन सभी झंडे को परिभाषित करता है जिन्हें आप फ़ाइलों पर सेट नहीं करना चाहते हैं। मैं मानता हूं कि यह प्रतिवाद है, लेकिन यह सब यहां है: ubuntuforums.org/showpost.php?p=9092899&postcount=4
टॉमस एशान

मैंने अपने प्रश्न को और जानकारी के साथ अद्यतन किया है जो मैंने कोशिश की है और परिणाम।
टॉमस असचान

1
हम्म ... मुझे इस समय के लिए इसे अन-मार्क करना होगा: यह पता चला है, इसने विंडोज से फाइलें पढ़ते समय अनुमतियों को गड़बड़ कर दिया ...
टॉमस असचान

2

माउंट का उपयोग करें uidऔर gidविकल्प (या उपयोगकर्ता मानचित्रण सुविधा का उपयोग करें )


1
दूसरे शब्दों में, uid = जो कोई भी fstab लाइन में जोड़ें
psusi

uidऔर gidकाम, लेकिन अनुमतियाँ अब ntfs-3G में समर्थित हैं, और उन विकल्पों पर विकल्प की सवारी होती है permissions। देखें: b.andre.pagesperso-orange.fr/permissions.html
पैंथर

मैंने अपने प्रश्न को और अधिक जानकारी के साथ अद्यतन किया है जो मैंने कोशिश की है और मुझे जो परिणाम मिले हैं। कृपया एक नज़र रखना =)
टॉमस अचान

क्या आप अपने fstab प्रविष्टि को अपडेट कर सकते हैं और अपने uid, gid और umask को हटा सकते हैं, बस nls=iso8859-1,permissions,users, अनमाउंट करें और विभाजन को फिर से माउंट करें।
पैंथर

@ bodhi.zazen: फिर हम एक वर्ग में वापस आ रहे हैं। फ़ाइलें स्वामित्व के अनुसार दिखाई देती हैं root:rootऔर ग्रहण अनुमतियों के बारे में शिकायत करता है।
टॉमस अचान

2

मेरा अब पूरी तरह से काम करता है जब मैं fstab की लाइन को बदल देता हूं

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0

1

उपयोग करने के बारे में क्या udisks? यह स्वामी के रूप में आपके उपयोगकर्ता के साथ NTFS विभाजन को आसानी से माउंट कर सकता है।

उदाहरण (इसे कमांड लाइन में टाइप करें):

/usr/bin/udisks --mount /dev/sda3

आप उस एप्लिकेशन को स्टार्टअप एप्लिकेशन में भी जोड़ सकते हैं और लॉग-इन करते समय यह ऑटो-माउंट हो जाएगा।

संदर्भ: स्वचालित रूप सेपार्टमेंट

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.