मैं रूट किए बिना USB में फाइलें कैसे लिखूं?


10

मेरे पास एक 4GB USB स्टिक है जिसका उपयोग करके मैंने विभाजन किया है sudo cfdisk /dev/sdbऔर उपयोग करके स्वरूपित किया है sudo mkfs /dev/sdb1। जब मैं अपने डेबियन स्क्वीज़ पर चलता हूं, तो यह वर्तमान में 83सिस्टम के साथ आईडी पर सेट हो जाता है ।Linuxsudo fdisk -l

मैं pmountबाहरी USB ड्राइव को माउंट करने के लिए उपयोग करता हूं । इसलिए मैं pmount /dev/sdb1इसे कर /media/usb0रहा हूँ क्योंकि मैं एफएफ है। में लाइन /etc/fstab:

/dev/sdb1    /media/usb0    auto    rw,user,noauto    0    0

pmountकमांड जारी करने के बाद , USB को माउंट किया जाता है /media/usb0- ls -l /media/usb0मुझे एक कर :

drwx------ 2 root root 16384 Mar   2 20:08 lost+found

इसलिए मैं अपने व्यवसाय के बारे में जाता हूं और एक फाइल को कॉपी करने की कोशिश करता /media/usb0हूं, लेकिन मुझे नीचे त्रुटि मिलती है:

$ cp ~/foo.bar /media/usb0
cp: cannot create regular file `/media/usb0/foo.bar': Permission denied

लेकिन जब मैं उसी cpकमांड को जारी करता sudoहूं, तो मैं फाइल को कॉपी कर सकता हूं।

ऐसा क्यों होता है? मैंने अन्य USB ड्राइव की कोशिश की है और मैं इस त्रुटि के बिना उन्हें लिखने में सक्षम हूं। क्या मैंने यूएसबी स्टिक को फॉर्मेट करने या रिपार्ट करने के तरीके में कुछ गड़बड़ थी?

जवाबों:


7

आपनेext* फ़ाइल सिस्टम (या तो ext2 , ext3 , या ext4 का उपयोग करके sdb1 विभाजन को स्वरूपित किया ; मैं डिफ़ॉल्ट को याद नहीं कर सकता)। यह लिनक्स सिस्टम पर डिफ़ॉल्ट फाइल सिस्टम है, और यह निर्धारित करने के लिए यूनिक्स फाइल अनुमति का उपयोग करता है कि कौन फाइल या निर्देशिका को संशोधित कर सकता है। ताजा फाइलसिस्टम हमेशा रूट के साथ शुरू होता है ( /media/usb0इस मामले में) जिसके स्वामित्व में है root:root, और आमतौर पर केवल मालिक द्वारा संशोधन की अनुमति के साथ।

योरसेफ़ के लिए इसे देखने के लिए, फ़ाइल सिस्टम को माउंट करें, फिर ls -ld /media/usb0वर्तमान स्वामित्व / परमिट को देखने के लिए चलाएँ । मेरा अनुमान है:

drwx------ 2 root root 16384 Mar   2 20:08 /media/usb0

chownसभी के साथ अनुमति लिखने के लिए एक सरल निर्धारण आपके स्वयं के लिनक्स खाते के लिए एक) माउंटेड फ़ाइल सिस्टम, या बी) होगा chmod

हालांकि, अंत में, यह एक अच्छा समाधान नहीं होगा, क्योंकि बनाई गई फाइलें आपके यूआईडी के स्वामित्व में हो जाएंगी, उपयोगकर्ता नाम नहीं; जब USB ड्राइव एक अलग सिस्टम से जुड़ा होता है, तो यह जल्दी से खाता बेमेल हो जाएगा। यह मानते हुए कि आप इसे बिल्कुल भी कनेक्ट कर सकते हैं, - विंडोज एक्सट्रा 3 को बिना एक्स्ट्रा ट्रिक के सपोर्ट नहीं करता है , इसलिए NTFS ( mkfs.ntfs) या FAT32 ( mkfs.vfat) फाइल सिस्टम के लिए ज्यादा बेहतर विकल्प होगा।


मैंने करने की कोशिश की sudo mkfs.ntfs /dev/sdb1और sudo mkfs.vfat /dev/sdb1मुझे वह त्रुटि मिली sudo: mkfs.xxxx: command not foundजहां xxxxया तो ntfsऔर vfat। मुझे डेबियन स्क्वीज़ पर काम करने के लिए क्या मिलेगा?
एरिक

@ एरिक: ntfs-3G + ntfsprogs + dosfstools स्थापित करें ।
user1686

ठीक है, मैंने वह स्थापित किया अब जब मैं माउंट करने की कोशिश करता हूं, मुझे यह त्रुटि मिलती है ntfs-3g-mount: failed to open /dev/fuse: Permission denied:। मैं इस बारे में क्या करूं?
एरिक

4

यह बाद में डेबियन सिस्टम (उदाहरण के लिए जेसी) के साथ-साथ कुछ वसा 32 या एक्सट्रैटेड यूएसबी फ्लैश ड्राइव के साथ होता है। आपको अपने / etc / fstab से निम्न पंक्ति निकालने (या टिप्पणी करने) की आवश्यकता है :

/dev/sdb1    /media/usb0    auto    rw,user,noauto    0    0

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

उसके बाद आपका USB ड्राइव आपके उपयोगकर्ता की अनुमति के साथ आसानी से माउंट हो जाएगा :)


2

आदेश के sudoसाथ अनुमतियों का उपयोग करें और बदलें chmod

उस प्रश्न में मेरा उत्तर देखें कि कैसे उपयोग करें chmod:

मैं आपको सभी का उपयोग chmod 777करने के लिए उपयोग करने का सुझाव देता हूं ( ls -lइसका उपयोग करके यह दिखाई देगा drwxrwxrwx)।



0

GUI के माध्यम से फाइल सिस्टम मीडिया पर जाएं। उस USB ड्राइव पर राइट क्लिक करें जिसे आप कॉपी करना चाहते हैं और चुनें - रूट के रूप में खोलें। पासवर्ड टाइप करें। फिर आप डिलीट, ड्रैग और ड्रॉप कॉपी कर सकते हैं। सब अच्छा


जैसा कि @Sven द्वारा ऊपर वर्णित है, रूट: स्वामित्व में रूट टर्मिनल या गुई में रूट के रूप में खुला है या मालिक या समूह को बदलने के लिए स्वयं का उपयोग करने के लिए स्वयं को उस usb का उपयोग करने की अनुमति देने के लिए chown का उपयोग करें।
linuxdev2013
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.