unix_socket tarafından tanımlanan mysql, sudo altında garip davranıyor


0

DB kullanıcımı bir sunucuda CREATE USER myuser IDENTIFIED VIA unix_socket;ve elbette kurdum FLUSH PRIVILEGES;. İyi çalışıyor, mysqlkomut kullanarak veritabanına bağlanabiliyorum .

Sonra sunucuya SSHed olarak myuserçalıştırdım, sudo su anotheruser(kim onun mysql hesabına sahip değil) ve sadece çalışmayı düşündüğünü test etmek için mysql. Başarısız olmasını beklerdim ama onun yerine bir mysql kabuğu aldım. Kafam karıştı, o yüzden kaçtı SELECT USER();ve geri döndü myuser@localhost.

Bunun anlamı ne? Linux nasıl anotherusermysql olarak giriş yaptı myuser? Kullanıcı unix_socketkimliğini doğrulamanın güvenli bir yolu mu?

teşekkür ederim

Yanıtlar:


1

Hangi kullanıcı olduğunuzu hala biliyor, başlangıçta, sudo su'da bile:

[rubio@craptop ~]$ sudo su - root
[sudo] password for rubio:
[root@craptop ~]# whoami
root
[root@craptop ~]# who am i
rubio pts/1 2016-12-24 22:35 (:0)

Eğer "gerçek" giriş kullanıcısı ise anotheruserMySQL auth kullanıcısı olarak kullanacaktır.


Nasıl sudo mysqlçalışır? Eğer yazarsam, DB root"gerçek" kullanıcı olsa bile olduğuna inanıyor myuser?
Vojtech Kane
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.