MySQL root şifresini değiştiren kullanıcıyı nasıl bulabilirim?


1

CentOS test sunucumda birisi MySQL root şifresini değiştirdi. Şifreyi kim ve ne zaman değiştirdiğini bulmanın bir yolu var mı?


MySQL'de günlüğe kaydetmenin varsayılan olarak etkin olduğunu düşünüyorum. Ödemeye mysqlbinlogkomutu.
ott

“MySQL'de günlüğe kaydetmenin varsayılan olarak etkin olduğunu düşünüyorum.” % 100 hayır . “Varsayılan olarak, hiçbir kayıt etkinleştirilmemiş…”
JakeGould

Yanıtlar:


-1

Öncelikle, kullanıcı uzak bir makineden “root” şifresi değişikliği yaptıysa ve MySQL günlüğü etkinleştirilmemişse, temel olarak, bir kullanıcıyı bu belirli bir eyleme bağlayacak herhangi bir yerde, herhangi bir değere erişemezsiniz. Ancak, kullanıcının bir komut satırı oturumu aracılığıyla oturum açtığını varsayarsak, bazı ipuçları sağlayabileceğini kontrol ettiğiniz birkaç şey vardır.

MySQL'i komut satırından çalıştıran herhangi bir kullanıcı .mysql_historykendi dizininde otomatik olarak bir dizin oluşturacağından , sistemde bir şey olup olmadığını görmek için böyle bir komutu çalıştırabilirsiniz:

grep -i -e "password" /home/*/.mysql_history

Bu , MySQL istemcisinin kendisinde olduğu ve parolayı değiştirmek için istemcinin kendisini kullanarak parolayı değiştirdiğini varsayarak .mysql_historysözcüğü arayan her kullanıcının dosyası üzerinde duyarsız bir arama yapar password.

Ama aynı zamanda, .bash_historyMySQL kullanan birinin kimseyi kullandığını görmek ve daha sonra potansiyel bir şüpheli olarak onlara odaklanmak için de bakabilirsiniz.

grep -i -e "mysql" /home/*/.bash_history

Bu, her kullanıcının .bash_historydosyası boyunca koştukları mysqlveya çalıştırmaya çalıştıkları anlamına gelen sözcüğü arayan MySQL'in komut satırından bağlanan bir şeyi duyarsız hale getirir .

Ama hepsi söz konusu kullanıcı silmek veya onların değiştirmediğini üstleniyor .bash_historyya .mysql_historyda iz bırakmamak için dosyaları. Bu geçmiş dosyalarını silecek kadar bilgili olsalardı, MySQL günlüğü etkin olmadıkça bunları izleyebileceğinizden emin değilsiniz. Ve MySQL günlüğü, sistemdeki olumsuz performans etkisinden dolayı varsayılan olarak varsayılan olarak devre dışıdır.

Bu MySQL kurulumu diğer kullanıcıların, etkin belki birisi bir kullanıcı atandı fikrine açık olması sahipse, söz konusu tüm olabilir “kökünden” dan farklı olmuştur ama etkili bir verildi Aynı onlar Anlamı olarak izin düzeyini “root”. sözde “root” olmayan hesaplarını, ne yapmak istediklerini yapmak için kullanabilirlerdi.

Hızlı, gevşek ve güvenli olmayan MySQL hibeleri rahatsız edici şekilde yaygındır ve genellikle herhangi bir nedenden ötürü ayrı bir “root olmayan” hesap oluşturan ve ardından GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';yeni kullanıcıya haklar verirken bir tane kullanan veritabanı yöneticileri tarafından uygulanır. . Temelden bu kadar korkunç bir fikir GRANT ALL PRIVILEGES ON *.*, “Bu kullanıcının herhangi bir veritabanında bir kök kullanıcımış gibi herhangi bir şey yapmasına izin verin” anlamına gelir.


1
Parolaları ağ üzerinden veya günlük bırakmayan bir yazılımla değiştirebilirsiniz. Sunucunuz ağa açıksa, yerel mysql istemcimi kullanabilirim. Veya bir PHPMyAdmin gibi bazı yazılımlar veya web sunucusuysa başka bir şey bir şifre ile değiştirilebilir. Hiçbir kayıt basit olmayabilir.
Zoredache

@Zoredache Çok iyi nokta. Bu bağlamı eklemek için sorumu düzenledi.
JakeGould
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.