sudo su non cambia gli utenti per mysql


13

Ieri sera, sul mio server, ho fatto:

sudo su - mysql 

per passare all'utente mysql in modo da poter eseguire il client mysql, che è impostato in modo da autenticarsi solo dall'account mysql. Ho eseguito correttamente il client mysql e ho apportato la modifica al database. Nulla è cambiato sul server durante la notte.

Oggi, nulla di ciò che provo mi consentirà di passare all'utente mysql. Sembra avere successo, dato il messaggio su nessuna home directory, ma whoamiriporta ancora il mio ID utente e il tentativo di eseguire mysql fallisce ancora.

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 per mysql:

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

Qualcuno ha mai visto un comportamento del genere?

Risposte:


19

suinvoca la shell di accesso dell'altro utente come indicato in /etc/passwd. Nel tuo caso è /bin/falsecosì che non ottieni alcuna shell interattiva.

Uso

sudo -u test /bin/bash

o

sudo -u test /usr/bin/mysql

o qualcosa del genere invece.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.