sudo su tidak mengubah pengguna untuk mysql

13

Tadi malam, di server saya, saya melakukan:

sudo su - mysql 

untuk mengubah ke pengguna mysql sehingga saya bisa menjalankan klien mysql, yang sudah diatur sehingga hanya akan mengotentikasi dari akun mysql. Saya berhasil menjalankan klien mysql dan membuat perubahan ke database. Tidak ada yang berubah di server dalam semalam.

Hari ini, tidak ada yang saya coba akan memungkinkan saya untuk mengubah ke pengguna mysql. Tampaknya berhasil, diberi pesan tentang tidak ada direktori home, tetapi whoamimasih melaporkan id pengguna saya dan mencoba menjalankan mysql masih gagal.

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

/ etc / passwd untuk mysql:

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

Adakah yang pernah melihat perilaku seperti ini?

dunia wades
sumber

Jawaban:

19

sumengaktifkan shell login pengguna lain seperti yang diberikan pada /etc/passwd. Dalam kasus Anda itu /bin/falseAnda tidak mendapatkan shell interaktif.

Menggunakan

sudo -u test /bin/bash

atau

sudo -u test /usr/bin/mysql

atau sesuatu seperti itu sebagai gantinya.

Florian Diesch
sumber