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


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

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

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

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

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


36
2017-07-11 12:07


मूल




जवाब:


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

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


36
2017-07-11 12:46



यह वास्तव में मेरे लिए काम किया :) धन्यवाद! - Arie K


भी

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

अगर समूह को भी बदलने की जरूरत है


27
2017-09-29 16:05



यूआईडी कहाँ है foo उस उपयोगकर्ता का नाम है जिसे आप माउंट पॉइंट के स्वामी बनना चाहते हैं। और ग्रिड foo उपयोगकर्ता समूह का नाम आम तौर पर उपयोगकर्ता नाम के समान होता है। संदेह में बस टाइप करें ls -l अपनी होम निर्देशिका में और क्रमशः पहले और दूसरे नामों की जांच करें। - Zequez


इन जैसे यूआईडी और ग्रिड जोड़ें:

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

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

पीएस: और भी अधिक पहुंच के लिए (अगर वांछित), "dir_mode = 0777, file_mode = 0777" जोड़ें


8
2018-04-24 12:18



यह नहीं relatime। lwn.net/Articles/244829 - endolith
-1 क्योंकि uid तथा gid झंडे केवल फाइल सिस्टम पर काम करते हैं नहीं लिनक्स अनुमति स्कीमा का समर्थन करें - यानी, एफएटी और एनटीएफएस, दूसरों के बीच। देख askubuntu.com/a/34068/329506 - mgarciaisaia
हाँ, मैं यूआईडी / ग्रिड मुद्दे में भाग गया - क्या कोई समाधान है? - tofutim


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

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

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

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


3
2017-07-11 12:25





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

chmod 777 <directory>

फिर करो

chown -R mysql.mysql <directory>

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

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

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

mount -a

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

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


1
2017-07-11 13:14





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

mount device mount-point -o uid=foo

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


1
2017-07-11 17:10