उपयोगकर्ता द्वारा USB ड्राइव को ऑटो-माउंट किया जाता है लेकिन रूट के लिए केवल लिखने की अनुमति मिलती है


20

मैं अपने ext4 USB ड्राइव का उपयोग करने की कोशिश कर रहा हूं, लेकिन Ubuntu 13 वर्तमान में इसे केवल रूट के लिए लिखित अनुमति के साथ बढ़ रहा है ताकि मेरे सामान्य उपयोगकर्ता के साथ मैं इसे बिना sudo के नहीं लिख सकूं।

पहली जगह मैंने जाँच की dconf-editorजिसमें निम्नलिखित विकल्प थे

  • आटोमाउंट
  • आटोमाउंट खुले
  • autorun-कभी नहीं
  • ऑटोरन-एक्स-सामग्री पर ध्यान न दें
  • ऑटोरन-एक्स-सामग्री से खुले फ़ोल्डर
  • ऑटोरन-एक्स-सामग्री से शुरू एप्लिकेशन

और मुझे लगता है कि अगर मैं माउंटेड यूएसबी ड्राइव पर लिख सकता हूं, तो इसे नियंत्रित करने के लिए वहां एक विकल्प होना चाहिए, लेकिन नहीं।

मैंने यह भी सुनिश्चित किया कि मेरा उपयोगकर्ता संबंधित समूहों में है: fuseऔरplugdev

मैंने अधिकांश इंटरनेट खोजे हैं और माउंट ऑपरेशन द्वारा दी गई अनुमतियों को बदलने के लिए कोई समाधान नहीं खोज सकता। वहाँ वास्तव में कोई नहीं है वहाँ इस समस्या को अविश्वसनीय रूप से कर रहे हैं। एक टन लोगों के पास समस्या है क्योंकि उनकी ड्राइव पूरी तरह से केवल-पढ़ने के लिए माउंट है, लेकिन केवल रूट राइट की अनुमति के साथ इस तरह से नहीं।

मैं नियंत्रित नहीं कर सकता कि क्या होता है। मैंने माउंट विकल्पों का उपयोग करते हुए देखा, gnome-disksलेकिन एक रिक्त को आकर्षित किया।

यह नहीं है, fstabलेकिन यह mountसूची या / / mtab में प्रकट होता है :

/dev/sdb1 /media/adam/WDPassport2T ext4 rw,nosuid,nodev,uhelper=udisks2 0 0

यदि यह मदद करता है तो यह syslog में प्रकट होता है:

kernel: [111522.196770] usb 2-1: USB disconnect, device number 6
kernel: [111525.384020] usb 2-1: new high-speed USB device number 7 using ehci-pci
kernel: [111525.565220] usb 2-1: New USB device found, idVendor=1058, idProduct=0820
kernel: [111525.565225] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
kernel: [111525.565227] usb 2-1: Product: My Passport 0820
kernel: [111525.565229] usb 2-1: Manufacturer: Western Digital
kernel: [111525.565231] usb 2-1: SerialNumber:  575832314141334A34383631
kernel: [111525.565729] usb-storage 2-1:1.0: USB Mass Storage device detected
kernel: [111525.566203] scsi9 : usb-storage 2-1:1.0
mtp-probe: checking bus 2, device 7: "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-1"
mtp-probe: bus: 2, device: 7 was not an MTP device
kernel: [111526.564697] scsi 9:0:0:0: Direct-Access     WD       My Passport 0820 1007 PQ: 0 ANSI: 6
kernel: [111526.565063] scsi 9:0:0:1: Enclosure         WD       SES Device       1007 PQ: 0 ANSI: 6
kernel: [111526.568096] sd 9:0:0:0: Attached scsi generic sg2 type 0
kernel: [111526.568202] ses 9:0:0:1: Attached Enclosure device
kernel: [111526.568263] ses 9:0:0:1: Attached scsi generic sg3 type 13
kernel: [111531.263108] sd 9:0:0:0: [sdb] 3906963456 512-byte logical blocks: (2.00 TB/1.81 TiB)
kernel: [111531.265100] sd 9:0:0:0: [sdb] Write Protect is off
kernel: [111531.265105] sd 9:0:0:0: [sdb] Mode Sense: 47 00 10 08
kernel: [111531.266473] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.266479] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.272224] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.272230] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.284885]  sdb: sdb1
kernel: [111531.288219] sd 9:0:0:0: [sdb] No Caching mode page found
kernel: [111531.288223] sd 9:0:0:0: [sdb] Assuming drive cache: write through
kernel: [111531.288227] sd 9:0:0:0: [sdb] Attached SCSI disk
kernel: [111531.751588] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
udisksd[3131]: Mounted /dev/sdb1 at /media/adam/WDPassport2T on behalf of uid 1000

चलने की कोशिश करें sudo umount /dev/sdb1, और फिर इसे एक सामान्य उपयोगकर्ता के रूप में माउंट करें। mtabप्रविष्टि है user=adamजो मतलब यह होना चाहिए उपयोगकर्ता, adamइसका इस्तेमाल कर सकते हैं ...
विल्फ़

@wilf वास्तव में यह दूसरी mtab प्रविष्टि है जिसमें उपयोगकर्ता = adam है, USB ड्राइव नहीं। मुझे नहीं पता कि क्या gvfsd-fuse सामान है। शायद अप्रासंगिक लेकिन मैं हैरान हूं कि एक प्रविष्टि में यह क्यों है, लेकिन यूएसबी ड्राइव नहीं है।
आदम

वूप्स ... अधिक ध्यान देना चाहिए। प्रविष्टियाँ स्वयं ठीक हैं, इसलिए यह काम करना चाहिए ... क्या आप ड्राइव को रेखांकन या कमांड लाइन के माध्यम से माउंट और अनमाउंट करते हैं? - रनिंग gvfs-mount -d /dev/sdb1को ड्राइव को माउंट करना चाहिए, यह भी करना चाहिए udisks --mount /dev/sda5। उन्हें रूट पासवर्ड की आवश्यकता नहीं होनी चाहिए, क्योंकि वे gvfsdप्रवेश की अनुमति देते हैं।
विल्फ

इसलिए gvfs का इससे कोई लेना-देना नहीं है। मैं वर्तमान में nautilus के माध्यम से ग्राफिक रूप से ड्राइव को माउंट और अनमाउंट कर रहा हूं, लेकिन मैं वास्तव में चाहता हूं कि इसे स्वचालित रूप से अनुलग्नक पर किया जाए ताकि बैकअपडब प्रक्रिया ड्राइव का उपयोग कर सके। मुझे लगता है कि यह एक और समस्या है, भले ही मुझे लिखने की अनुमति मिल जाए।
एडम

1
@ एडम, आपके USB डिवाइस का फाइलसिस्टम प्रकार क्या है? और क्या करता है ls -ld /media/adam/WDPassport2Tऔर ls -l /media/adam/WDPassport2Tआउटपुट?
सटीक

जवाबों:


25

एक संभावित कारण यह हो सकता है कि आपने स्टोरेज डिस्क को रूट विशेषाधिकार के साथ एक टूल के साथ स्वरूपित / बनाया है और इसलिए बनाया गया फ़ाइल-सिस्टम रूट के स्वामित्व में था ।

आइए आपके lsकमांड्स के o / p पर एक नज़र डालें :

$ ls -ld /media/adam/WDPassport2T
drwxr-xr-x 4 root root 4096 Jan 15 16:57 /media/adam/WDPassport2T
$ ls -l /media/adam/WDPassport2T
total 20 
drwxr-xr-x 2 root root 4096 Jan 15 16:57 backuppc 
drwx------ 2 root root 16384 Jan 15 15:37 lost+found

फ़ाइल-सिस्टम रूट के स्वामित्व में है, जैसा कि ls -ldआपके माउंट WDPassport2T द्वारा इंगित किया गया है और अनुमति स्ट्रिंग से drwxr-xr-x पता चलता है कि मालिक रूट के पास आरडब्ल्यू की अनुमति है, जबकि दुनिया के साथ समूह रूट के सदस्यों / अन्य के पास केवल आर-अनुमति होगी।

हल करने के लिए आप अनुमतियों को बदल सकते हैं chmodया बस स्वामित्व को फिर से बदल सकते हैं, और यही मैंने नीचे दिखाया है:

sudo chown <username>:<groupname> -R /path/to/target

जो आपके मामले में होगा:

sudo chown adam:adam -R /media/adam/WDPassport2T/

अब यदि आपको आवश्यकता है, तो आप इसके साथ अनुमतियाँ भी निर्धारित कर सकते हैं chmod:

find /media/adam/WDPassport2T/ -type f -execdir chmod 666 -Rv {} +

(जो लक्ष्य में सभी फाइलों के लिए मालिक, समूह और दुनिया को आरडब्ल्यू की अनुमति देता है।)

find /media/adam/WDPassport2T/ -type d -execdir chmod 777 -Rv {} +

(जो लक्ष्य में सभी निर्देशिकाओं के लिए स्वामी, समूह और दुनिया को RWX की अनुमति देता है।)

संदर्भ:

आधिकारिक उबंटू प्रलेखन: फ़ाइल अनुमतियां


बहुत खुबस। मैंने कोशिश करने के बारे में सोचा नहीं था क्योंकि मैंने सिर्फ / मीडिया / adam / WDPassport2T पर फ़ाइल की अनुमति को माउंट प्रक्रिया द्वारा निर्धारित किया था, अर्थात मुझे वास्तविक यूएसबी ड्राइव (या इसके आवंटित माउंट बिंदु) का एहसास नहीं होगा और प्राप्त करेगा अनुमतियाँ। यदि मैं डिस्क को किसी अन्य बॉक्स में प्लग करता हूं तो अनुमतियाँ / स्वामित्व के साथ समान समस्याएं होंगी?
एडम

1
@ एडम: "... अगर मैं डिस्क को किसी अन्य बॉक्स में प्लग करता हूं तो क्या अनुमति / स्वामित्व के साथ कोई समस्या होगी?" अच्छी तरह से मुझे यकीन नहीं है इसलिए मैंने यह Q पोस्ट किया है: कैसे काम करता है chmod और chown कमांड कितने पोर्टेबल हैं? .. अगर आप अन्य सिस्टम में फ़ाइलों / निर्देशिकाओं के लिए आरडब्ल्यू की अनुमति चाहते हैं, तो आप दुनिया के लिए आरडब्ल्यू का उपयोग chmodकरने की अनुमति दे सकते हैं / ओथर का उपयोग कर सकते हैं , कृपया अपडेट किए गए उत्तर को देखें ...
सटीक

अगर मैंने एक USB ड्राइव ext4 का उपयोग करके स्वरूपित किया है gksu gparted, तो क्या यह स्वचालित रूप से मुझे उस USB ड्राइव का स्वामी बना देगा, या यदि स्वामी के रूप में रूट के साथ स्वरूपित किया जाएगा?
मार्क

यह काम नहीं करता है। जब भी मैं कोशिश करता हूं और उस आरोह बिंदु पर कुछ भी चटकाता हूं, तब भी मुझे ऑपरेशन की अनुमति नहीं मिलती है।
Fr0ntSight

लेकिन सवाल यह है कि ड्राइव को रूट के रूप में पहले स्थान पर क्यों रखा गया है। क्या कोई सेटिंग है जिसे मैं सेट कर सकता हूं ताकि भविष्य में इसके बजाय मेरे उपयोगकर्ता द्वारा मुहिम शुरू की जाए?
बेको

1

क्या आपने अपनी अनुमति से ड्राइव को फिर से बनाने की कोशिश की है?

सबसे पहले, अपना यूजर आईडी जांचें:

sudo id -u red

इसे "1000" देना चाहिए

इसके बाद, फिल्ममेकर में ड्राइव अनमाउट करें।

सावधान रहें, आप अपने सभी डेटा को अगले कॉमैंड के साथ खो देंगे

sudo mkfs.ext4 /dev/sdx1 -E root_owner=1000:1000

ड्राइव को माउंट करें और आपको फ़ाइलों और फ़ोल्डरों को लिखने में सक्षम होना चाहिए


1

अधिकांश विभाजन और प्रारूपण उपकरण (जैसे Gparted) को मूल विशेषाधिकारों की आवश्यकता होती है।

फाइल सिस्टम जैसे ext4, ext3 स्टोर्स स्वामित्व जानकारी को पेन ड्राइव से ही फाइल करते हैं। (लेकिन ntfs, fat32, fat16 में उस तरह की सुरक्षा नहीं है)

इस मामले में आपको टर्मिनल में निम्नलिखित कमांड का उपयोग करके अनुमति बदलनी होगी।

chown -hR nobody:nogroup /media/adam/WDPassport2T/

उपयोगकर्ता को "कोई नहीं" और समूह को "नोग्रुप" के रूप में सेट करके यह डिस्क / अनुमतियों के साथ समान मुद्दों को ठीक करेगा जब डिस्क को दूसरे बॉक्स में प्लग किया जाएगा।

अधिक जानकारी के लिए chown कमांड के लिए मैनुअल पेज देखें (उपयोग " man chown")


यह nobodyठीक है। लेकिन मेरी यूजर आईडी कोई नहीं है, और यह मुझे लिखने से रोक रहा है।
K3 --- rnc

0

फ़ाइल-सिस्टम रूट के स्वामित्व में है, जैसा कि आपके माउंट WDPassport2T के लिए ls -ld द्वारा इंगित किया गया है और अनुमति स्ट्रिंग drwxr-xr-x से पता चलता है कि स्वामी के पास RW की अनुमति है, जबकि समूह रूट के सदस्यों के साथ दुनिया / अन्य केवल R- अनुमति होगी।

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