MySQL डाटाबेस यूजर: किन विशेषाधिकार की जरूरत है?


52

वर्डप्रेस ( "5 मिनट" ) के लिए संक्षिप्त इंस्टॉलेशन निर्देश :

अपने वेब सर्वर पर वर्डप्रेस के लिए एक डेटाबेस और साथ ही एक MySQL उपयोगकर्ता बनाएं, जिसके पास इसे एक्सेस करने और संशोधित करने के लिए सभी विशेषाधिकार हैं।

पेशेवर रूप से एक नया ब्लॉग स्थापित करते समय, मैं सोच रहा था कि यह कैसा है जो MySQL डेटाबेस उपयोगकर्ता विशेषाधिकार / अनुमतियाँ कॉन्फ़िगरेशन मुझे प्रदान करता है:

  • डाटा: SELECT , INSERT, UPDATE,DELETE
  • परिभाषा: CREATE , ALTER,DROP
  • अतिरिक्त: INDEX
  • अधिक:
    1. LOCK TABLES
    2. REFERENCES
    3. CREATE TEMPORARY TABLES
    4. CREATE VIEW
    5. SHOW VIEW
    6. CREATE ROUTINE
    7. EXECUTE
    8. ALTER ROUTINE

मुझे पहले तीन समूहों पर पूरा यकीन है, मैंने उन्हें डेटा, डेफिनिशन और एक्स्ट्रा नाम दिया है। लेकिन अधिक प्रविष्टि के नीचे दूसरों के बारे में क्या ? आम तौर पर मैं कहूंगा, उन लोगों की जरूरत नहीं है, लेकिन मैं एक दूसरी राय लेना चाहूंगा।

जवाबों:


13

दूसरों की जरूरत नहीं है जैसा कि आप बताते हैं।

Btw, आप क्या कर सकते हैं, सशर्त रूप से अनुरोधित पृष्ठ के आधार पर उपयोगकर्ता / पास सेट करें। सामान्य उपयोग के लिए चयन / सम्मिलित / अद्यतन / हटाने के साथ असंबद्ध में, और अपग्रेड पेज पर जाने के अलावा परिभाषा / सूचकांक से संबंधित सामान के साथ विशेषाधिकार प्राप्त।


1
क्या वर्डप्रेस वातावरण में अनुरोधित पृष्ठ के आधार पर उपयोगकर्ता / पास को सशर्त रूप से सेट करने का कोई संदर्भ है? TA
सुपरजोस

@superjos: ऐसा नहीं है कि मैं अपने सिर के शीर्ष से अवगत हूं, लेकिन इसका संकेत सामान्य DB उपयोगकर्ता का चयन करना होगा / wp-config में सम्मिलित करना / अद्यतन / हटाना और, जब url प्रासंगिक से मेल खाता हो / wp-admin पेज (संभावित अपग्रेड, थीम को सक्रिय और प्लगइन को सक्रिय करें), एक वैकल्पिक उपयोगकर्ता को परिभाषित करने के लिए जो सब कुछ कर सकता है।
डेनिस डे बर्नार्डी

34

"सभी विशेषाधिकार" का आमतौर पर मतलब है कि आपको उपयोगकर्ता को सब कुछ भव्य होना चाहिए। हालाँकि ...

मुझे कम से कम एक लेख मिला है जो दावा करता है कि MySQL उपयोगकर्ता को केवल जरूरत है:

  • चुनते हैं
  • सम्मिलित करें
  • अपडेट करें

गहराई से खुदाई करने पर , मैंने पाया कि पूरी तरह से संचालित करने के लिए (स्वचालित अपडेट, प्लग-इन इंस्टॉलेशन / स्थापना रद्द करना आदि), वर्डप्रेस को अतिरिक्त अतिरिक्त अनुमतियों की आवश्यकता होती है:

  • DELETE
  • अपडेट (अपडेट के लिए)
  • तालिका बनाएं
  • ड्रॉप तालिका

इसके अलावा, संदर्भित नहीं है लेकिन यह समझ में आता है:

  • सूचकांक

लेकिन वे केवल दो ठोस संदर्भ हैं जो मुझे मिल सकते हैं जो अन्यत्र पोस्ट की गई राय द्वारा समर्थित हैं। मैं आपको अभी भी GRANT ALL के साथ रहने के लिए प्रोत्साहित करता हूं, लेकिन यदि आपको अपने DB उपयोग को सीमित करना चाहिए , तो इन 7 विशेषाधिकारों के साथ शुरू करें और उम्मीद के मुताबिक काम करने के लिए पूरी तरह से परीक्षण करें।


अपने विचार साझा करने के लिए धन्यवाद। उस साइट को स्थापित करने के लिए मैंने GRANT ALL नहीं किया क्योंकि यह एक विकास साइट नहीं है और इसके बजाय सभी incl से चिपके हुए हैं। सूचकांक। अब तक अच्छा लग रहा है, मुझे लगता है कि मैं इसे अगले दिनों पर नज़र रखता हूं, यह एक वास्तविक जीवन स्थल है। बहुत सारे प्लगइन का उपयोग और पसंद है। INDEX के लिए मैं कोर और mysql मैनुअल को थोड़ा खोज सकता हूं।
हकेरे

1
बस याद रखें कि 3rd पार्टी प्लग-इन बस किसी भी एसक्यूएल स्टेटमेंट के बारे में कॉल कर सकते हैं जो वे चाहते हैं ... इसलिए सुनिश्चित करें कि आपने ठीक से वीटो पर निर्भर चीजों को स्थापित करने से पहले उन्हें ठीक से वीट कर दिया है।
ईमान

12

यहाँ कोडेक्स को डेटाबेस उपयोगकर्ता विशेषाधिकारों को प्रतिबंधित करने के बारे में कहना है:

सामान्य वर्डप्रेस संचालन के लिए, जैसे कि ब्लॉग पोस्ट पोस्ट करना, मीडिया फाइलें अपलोड करना, टिप्पणियां पोस्ट करना, नए वर्डप्रेस उपयोगकर्ता बनाना और वर्डप्रेस प्लग इन इंस्टॉल करना, MySQL डेटाबेस उपयोगकर्ता को केवल MySQL डेटाबेस के डेटा रीड और डेटा राइटिंग विशेषाधिकारों की आवश्यकता होती है; सेलेक्ट, INSERT, UPDATE और DELETE।

इसलिए किसी भी अन्य डेटाबेस संरचना और प्रशासन विशेषाधिकार, जैसे DROP, ALTER और GRANT को निरस्त किया जा सकता है। इस तरह के विशेषाधिकारों को रद्द करके आप भी रोकथाम नीतियों में सुधार कर रहे हैं।

नोट: कुछ प्लगइन्स, थीम और प्रमुख वर्डप्रेस अपडेट के लिए डेटाबेस को संरचनात्मक परिवर्तन करने की आवश्यकता हो सकती है, जैसे कि नई तालिकाएँ जोड़ना या स्कीमा बदलना। ऐसे मामले में, प्लगइन स्थापित करने या किसी सॉफ़्टवेयर को अपडेट करने से पहले डेटाबेस उपयोगकर्ता को आवश्यक विशेषाधिकारों की अस्थायी रूप से अनुमति दें।

http://codex.wordpress.org/Hardening_WordPress


2
मैं कभी भी संभव होने पर लिस्ट प्रिविलेज के सिद्धांत का अभ्यास करने की कोशिश करता हूं। लिंक में उपयोगी (उद्धृत) जानकारी अब लिंक किए गए कोडेक्स लेख में नहीं है इसलिए इसे यहां कॉपी करने के लिए धन्यवाद।
एंथनी जी -

2

रेडबर्न की पोस्ट में "नोट" के बारे में, वर्डप्रेस कोडेक्स में एक चेतावनी भी है जिसे आपको अपडेट और डेटाबेस विवरण के बारे में भी पढ़ना चाहिए ...

(संपादित करें: हालांकि मैं नोटिस करता हूं कि मैं उपयोगकर्ता बनाते या अपडेट करते समय विशेषाधिकारों की सूची में "GRANT" नहीं देखता हूं । शायद सूची में "CREATE" को जोड़ा जाना चाहिए? क्या किसी के पास इसके बारे में जानकारी है? - Hostgator cPan का उपयोग करके , मार्च 2016 -)

चेतावनी:
इन विशेषाधिकारों के बिना अपडेट करने का प्रयास करना [ Select, INSERT, UPDATE, DELETE, DROP, ALTER, और GRANT] डेटाबेस स्कीमा परिवर्तन होने पर समस्याएँ हो सकती हैं। इस प्रकार, इन विशेषाधिकारों को रद्द करने की अनुशंसा नहीं की जाती है। यदि आपको सुरक्षा कारणों से ऐसा करने की आवश्यकता महसूस होती है, तो कृपया सुनिश्चित करें कि आपके पास पहले स्थान पर एक ठोस बैकअप योजना है, नियमित रूप से पूरे डेटाबेस बैकअप के साथ, जिसे आपने परीक्षण किया है, मान्य हैं और जिसे आसानी से बहाल किया जा सकता है। एक असफल डेटाबेस अपग्रेड आमतौर पर डेटाबेस को एक पुराने संस्करण में पुनर्स्थापित करके, उचित अनुमतियाँ प्रदान करके हल किया जा सकता है, और फिर वर्डप्रेस डेटाबेस को फिर से अपडेट करने का प्रयास करते हैं। डेटाबेस को पुनर्स्थापित करने से यह उस पुराने संस्करण पर वापस आ जाएगा और वर्डप्रेस प्रशासन स्क्रीन फिर पुराने संस्करण का पता लगाएगा और आपको उस पर आवश्यक SQL कमांड चलाने की अनुमति देगा। अधिकांश वर्डप्रेस अपग्रेड स्कीमा को बदलते नहीं हैं, लेकिन कुछ करते हैं। केवल प्रमुख बिंदु उन्नयन (3.7 से 3.8, उदाहरण के लिए) स्कीमा को बदल देगा। मामूली उन्नयन (3.8 से 3.8.1) आम तौर पर नहीं होगा। फिर भी, एक नियमित बैकअप रखें।

कोडेक्स: http://codex.wordpress.org/Hardening_WordPress


0

मेरी राय ऊपर @Eannann के साथ ही है, साथ ही उन्होंने जिन स्रोतों का उल्लेख किया है: GRANT ALL यह सुनिश्चित करने के लिए आवश्यक है कि आपकी साइट कार्यात्मक और भविष्य के प्रमाण हो। यहां तक ​​कि एक उत्पादन साइट पर, आप उपयोगकर्ता के मैनुअल से चिपके रहने की कोशिश करेंगे।

जैसा कि कोई है जो वर्डप्रेस कोर और कुछ प्लग-इन में कोड का योगदान देता है, मैं आपको उपयोगकर्ता के मैनुअल में सुझाए गए डिफ़ॉल्ट DB विशेषाधिकार को बनाए रखने की सलाह देता हूं (wpdatabasename पर सभी PRIVILEGES पर क्लिक करें। * "wordpressusername @ @" hostname ")।

वर्डप्रेस स्रोत कोड (वर्तमान और भविष्य दोनों) वर्डप्रेस डीबी उपयोगकर्ता मानता है कि दिए गए वर्डप्रेस डेटाबेस के लिए सभी डीबी विशेषाधिकार हैं। यदि आपका सेटअप किसी भी DB विशेषाधिकारों को याद करता है, तो आप वर्डप्रेस को अपग्रेड करने और अधिक प्लग-इन जोड़ने के लिए मुद्दों में भाग सकते हैं।

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

कोडेक्स पेज को तब से अपडेट किया गया है कि विभिन्न प्रणालियों और स्क्रीनशॉट्स पर उदाहरणों के साथ ऐसा कैसे करें। https://codex.wordpress.org/Installing_WordPress#Step_2:_Create_the_Database_and_a_User

डेटाबेस नाम और उपयोगकर्ता (PHPMyAdmin के माध्यम से) बनाना: https://codex.wordpress.org/Installing_WordPress#Using_phpMyAdmin

डेटाबेस नाम और उपयोगकर्ता (MySQL कमांड लाइन क्लाइंट के माध्यम से) बनाना: https://codex.wordpress.org/Installing_WordPress#Using_the_MySQL_Client

mysql> CREATE DATABASE wpdatabasename;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON wpdatabasename.* TO "wordpressusername"@"hostname"
    -> IDENTIFIED BY "password";
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

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