sudo su उपयोगकर्ताओं को mysql के लिए परिवर्तित नहीं करता है


13

कल रात, अपने सर्वर पर, मैंने किया:

sudo su - mysql 

mysql उपयोगकर्ता को बदलने के लिए, ताकि मैं mysql क्लाइंट चला सकूं, जो कि सेट है इसलिए यह केवल mysql खाते से प्रमाणित होगा। मैंने mysql क्लाइंट को सफलतापूर्वक चलाया और डेटाबेस में बदलाव किया। रात भर सर्वर पर कुछ नहीं बदला।

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

wade@snoopy:~$ sudo su - mysql
[sudo] password for wade: 
No directory, logging in with HOME=/
wade@snoopy:~$ whoami
wade

wade@snoopy:~$ sudo su mysql
wade@snoopy:~$ whoami
wade

wwilliam@snoopy:~$ sudo -s
root@snoopy:/home/wade# 
root@snoopy:/home/wade# su mysql
root@snoopy:/home/wade# whoami
root

mysql के लिए / etc / passwd:

mysql:x:110:119:MySQL Server,,,:/nonexistent:/bin/false

क्या कभी किसी ने इस तरह का व्यवहार देखा है?

जवाबों:


19

suअन्य उपयोगकर्ता के लॉगिन शेल को इनवॉइस के रूप में देता है /etc/passwd। आपके मामले में /bin/falseऐसा नहीं है कि आपको कोई इंटरेक्टिव शेल न मिले।

उपयोग

sudo -u test /bin/bash

या

sudo -u test /usr/bin/mysql

या ऐसा कुछ इसके बजाय।

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