मैं स्वचालित रूप से लिनक्स में एक यूएसबी ड्राइव बढ़ते पर लिखने की अनुमति कैसे सेट कर सकता हूं?


18

जब मैं linux (CentOs4) पर बाहरी USB ड्राइव को माउंट करता हूं, तो अनुमतियाँ डिफ़ॉल्ट रूप से केवल पढ़ने के लिए सेट की जाती हैं। चूंकि कंप्यूटर पर कई उपयोगकर्ता हैं, जिन्हें बाहरी ड्राइव का उपयोग करने की आवश्यकता है, मैं चाहता हूं कि सभी को rwपूरे ड्राइव के लिए अनुमति हो। मैं यह भी चाहता हूं कि अगर कंप्यूटर को बंद कर दिया गया है तो वे ड्राइव को माउंट करने में सक्षम होंगे। वे sudo mountड्राइव को माउंट करने के लिए उपयोग कर सकते हैं , लेकिन यह केवल उन्हें पढ़ने की अनुमति देगा, और मैं स्पष्ट रूप से अनुमति नहीं देना चाहता sudo chmod

क्या कोई डिफ़ॉल्ट सेटिंग है जिसे मैं बदल सकता हूं ताकि हर नई बाहरी USB डिस्क को स्वचालित रूप से rwअनुमति मिल सके?

जवाबों:


17

सभी को rw एक्सेस सक्षम करने के लिए, कमांड को माउंट करने के लिए umask = 0 विकल्प है।

sudo mount -o umask=0,uid=nobody,gid=nobody /dev/something /mnt/somewhere

umask = 0 केवल स्पष्टता के लिए पर्याप्त, uid और gid है, इसलिए आपको आवश्यकता से अधिक 'मूल' स्वामी दिखाई नहीं देते हैं।


@ टॉम का जवाब (लेखन / आदि / fstab प्रविष्टि) आपको छोड़ देने की अनुमति देगा sudoऔर यदि आप umask = 0 को अतिरिक्त विकल्प के रूप में लिखते हैं, तो आप दोनों दुनिया के सर्वश्रेष्ठ प्राप्त करेंगे:

इसमें / etc / fstab में होना:

/dev/something /mnt/somewhere auto users,noatime,umask=0 0 0

आपको बस चलाने की अनुमति देता है

mount /dev/something

और सभी के पास सभी फाइलों तक पहुंच है।


यदि आप विवरण जानना चाहते हैं, तो यहां तकनीकी नोट दें:

के रूप में man mountकहते हैं, 'umask = 0' यह सुनिश्चित करेगा कि कोई अतिरिक्त नियम फाइल एक्सेस मोड पर लागू न हों। FAT फाइल सिस्टम के लिए (जो कि USB डिस्क पर सबसे अधिक व्यापक रूप से उपयोग किया जाता है), कोई एक्सेस मोड संग्रहीत नहीं है। लेकिन आपकी वर्तमान प्रक्रिया में कुछ umask मूल्य सेट है, आप इसे देख सकते हैं यदि आप umaskटर्मिनल में बस चलाते हैं । mountडिफ़ॉल्ट रूप से उपयोग करता है और माउंट की गई डिस्क पर सभी फ़ाइलों से आपके umask मान का एक्सेस मोड निकालता है। सबसे व्यापक रूप से इस्तेमाल किए जाने वाले ऑमस्क मान हैं (ऑक्टल) 022 - कोई समूह और अन्य लिखना नहीं है, और 027 - कोई समूह नहीं लिखता है, कोई अन्य उपयोग नहीं है।


यदि मुझे umask=0 0 0fstab में प्रविष्टि के रूप में जोड़ा जाता है, तो मुझे 'खराब विकल्प' के साथ एक त्रुटि मिलती है । क्या umask-entry के लिए अंतिम प्रविष्टि होना आवश्यक है? managed=0 0 0वर्तमान में जो प्रविष्टि अंतिम है, वह क्या करती है ?
जोनास

1
FWIW, umask विकल्प एक VFAT-only विकल्प है, अर्थात जब तक USB मेमोरी VFAT फाइल सिस्टम (जो मेरा मामला नहीं हुआ) का उपयोग करता है, तब तक समाधान मदद करता है।
टॉमिस्लाव नैक-अल्फ़ेविक

2
धन्यवाद। लेकिन मुझे इसे काम करने के लिए बदलना पड़ा: sudo mount -o umask=0,uid=nobody /dev/something /mnt/somewhereयह केवल gid-पैरामीटर को सेट किए बिना काम करता है।
निप्पे

2

/ Etc / fstab में एक प्रविष्टि जोड़ें। यहाँ एक प्रविष्टि है जो मैंने अपने Seagate USB ड्राइव के लिए कुछ घंटे पहले जोड़ी थी:

UUID = 4ACC734ECC733375 / मीडिया / लिनक्स ext3 त्रुटियां = रिमाउंट-आरओ, चूक, उपयोगकर्ताओं, noatime, nodiratime 0 0

यहां कुंजी "उपयोगकर्ता" प्रविष्टि है जो उपयोगकर्ताओं को ड्राइव को माउंट और अनमाउंट करने की अनुमति देती है।

संपादित करें: यह विशिष्ट ड्राइव के लिए काम करता है - मुझे नहीं पता कि यह एक प्रविष्टि के साथ सभी ड्राइव के लिए सक्षम किया जा सकता है या नहीं ।


यदि कोई उपयोगकर्ता ड्राइव को मापता है, तो क्या अन्य सभी उपयोगकर्ताओं को भी rwअनुमति मिलेगी ?
जोनास

1

टाइप करें mount। यह वर्तमान स्थान पर है। यहाँ मेरा आउटपुट है।

rick@rick-Main ~ $ mount
/dev/sda4 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /media/DATA1 type vfat (rw,uid=1000,utf8,umask=077)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=rick)
/dev/sdf1 on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime)

सबसे आखिरी में लिनक्स मिंट द्वारा मेरा usb ड्राइव ऑटोमैटिक है।

अब टाइप करें

sudo umount /dev/sdf1

यह ड्राइव को अनमाउंट करेगा

अब सही ढंग से रिमाउंट करें।

sudo mount -t vfat /dev/sdf1 /media/usb0 -o rw,users,umask=0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.