माउंट प्वाइंट के मालिक को कैसे बदलें


44

हमने mysql डेटा डायरेक्टरी को दूसरी डिस्क पर स्थानांतरित कर दिया है, इसलिए अब /var/lib/mysqlएक और विभाजन के लिए एक माउंट पॉइंट है। हम /var/lib/mysqlनिर्देशिका के स्वामी को इसमें सेट करते हैं mysql.mysql

लेकिन हर बार जब हम विभाजन को माउंट करते हैं, तो स्वामित्व बदल जाता है root.root। इस वजह से, हम अतिरिक्त MySQL डेटाबेस नहीं बना सके।

हमारे fstab प्रविष्टि:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

माउंट पॉइंट के मालिक को रूट के अलावा अन्य उपयोगकर्ता को कैसे बदलें?

जवाबों:


43

आपको माउंट किए गए फ़ाइल सिस्टम की अनुमतियों को बदलने की आवश्यकता है, न कि माउंट पॉइंट की जब फाइलसिस्टम माउंट नहीं है। तो mount /var/lib/mysqlतब chown mysql.mysql /var/lib/mysql। यह MySQL DB फाइलसिस्टम की जड़ की अनुमति को बदल देगा।

मूल विचार यह है कि DB को धारण करने वाले फाइल सिस्टम को बदलने की जरूरत है, न कि आरोह बिंदु की, जब तक कि उसके रास्ते में कुछ समस्याएँ न हों, उदाहरण के लिए libकेवल रूट द्वारा पढ़ा जा सकता है।


32

भी

mount device mount-point -o uid=foo -o gid=foo

अगर समूह को भी बदलना होगा


2
जहां uid fooउस उपयोगकर्ता का नाम है जिसे आप माउंट बिंदु का स्वामी बनना चाहते हैं। और gid fooउपयोगकर्ता समूह का नाम है, आम तौर पर उपयोगकर्ता नाम के समान। संदेह में सिर्फ ls -lअपने घर निर्देशिका में टाइप करें और क्रमशः पहले और दूसरे नाम की जांच करें।
ज़ीक्ज़

10

इनकी तरह उड और गिड जोड़ें:

/dev/mapper/db-db  /var/lib/mysql ext3  relatime,rw,exec,uid=frank,gid=www-group        0       2

आप वास्तविक उपयोगकर्ता / समूहनाम (रिक्त स्थान से सावधान) या संख्यात्मक यूआईडी, जीआईडी ​​मानों का उपयोग कर सकते हैं। मैंने rw और निष्‍पादन जोड़ा जो आपको आगे आने वाली परेशानियों को रोकने में मदद कर सकते हैं (यह मानते हुए कि आप एक विकास प्रणाली पर हैं, न कि प्रोडक्शन सर्वर)।

पुनश्च: और भी अधिक पहुंच के लिए (यदि वांछित है), "जोड़ें, dir_mode = 0777, file_mode = 777"


3
नहीं, यह है relatimelwn.net/Articles/244829
16:13 पर एंडोलिथ

7
-1 क्योंकि uidऔर gidझंडे केवल फाइल सिस्टम पर काम करते हैं जो लिनक्स अनुमतियों स्कीमा का समर्थन नहीं करते हैं - यानी, एफएटी और एनटीएफएस, अन्य। देखें askubuntu.com/a/34068/329506
mgarciaisaia

2
हाँ, मैं uid / gid मुद्दे में भाग गया - क्या कोई समाधान है?
टॉफुटिम

इससे मुझे मेरे FAT32 ड्राइव में मदद मिली। धन्यवाद।
नईम खान

3

सुनिश्चित करें कि आपने फाइलसिस्टम माउंट न होने पर अनुमतियों को बदल दिया है - माउंट करते समय ऐसा करना मेरे लिए कभी काम नहीं किया है।

इसके अलावा, आप अपने fstab में 'उपयोगकर्ता' विकल्प जोड़ सकते हैं, उदाहरण:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime,user        0       2

इसका मतलब यह भी होना चाहिए कि माउंट कमांड (यदि इसे कॉल करने की आवश्यकता है) को उस वॉल्यूम को माउंट करने के लिए रूट विशेषाधिकार की आवश्यकता नहीं होगी। अपने fstab को नहीं बदलने से आप अपने मुद्दे को ठीक नहीं कर पाएंगे!


2

मैं आमतौर पर खाली अनमाउंटेड डायरेक्टरी पर ऐसा करता हूं

chmod 777 <directory>

फिर करो

chown -R mysql.mysql <directory>

फिर / etc / fstab में करें

<device>    <directory>  ext3   user,defaults 0 2

फिर उपयोग करें

mount -a

/ etc / fstab में सूचीबद्ध सभी फाइल सिस्टम को माउंट करने के लिए।

यह मेरे लिए काम करता है। कोशिश करो


2

यदि आप इसे केवल mountकमांड लाइन के भाग के रूप में करना चाहते हैं , तो आप -oस्विच का उपयोग कर सकते हैं:

mount device mount-point -o uid=foo

यह fooरूट के बजाय उपयोगकर्ता को माउंट बिंदु का स्वामी बदल देगा ।

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