суббота, 22 января 2011 г.

Все могут короли, все могут короли...


Такими строками начинается припев известной песни Аллы Борисовны. Но к чему это я? А к тому, что властные как этого, так и виртуального мира могут отнюдь не все. И иногда, это доходит до абсурда.
Сегодня на нашем операционном столе debian-sys-maint. Для тех, кто не использует Ubuntu в качестве десктопных\серверных решений, либо использует ее крайне мало: debian-sys-maint - служебный пользователь mysql-сервера с правами очень близкими к root’овым. Создается он по умолчанию, когда вы ставите mysql-server посредством atp-системы (apt-get, aptitude... ). При этом, хочу заметить, что под данным пользователем можно вполне успешно логиниться. Логин по умолчанию находится в фале cat /etc/mysql/debian.cnf.
Зачем нужен этот служебный пользователь? Для не менее служебных скриптов (кстати, для того же apt-get, к примеру, когда нужно при установки чего-либо настроить базу mysql).
И вот в одни прекрасный день...
- Асистент, кто у нас на разд... операционном столе?! Что за чудище?
- Debian-sys-maint, мисье RED
- И что с ним не так? Он же еще шевелиться!
- А вы прислушайтесь к тому, что он бормочет
И правда, при попытке выполнить mysqldump одной из баз данных, этот самый mysqldump запущенный из под debian-sys-maint ругался следующим образом:
mysqldump: Couldn't execute 'show create table `здесь_могло_быть_имя_вашей_таблицы`': SHOW VIEW command denied to user 'debian-sys-maint'@'localhost' for table 'здесь_могло_быть_имя_вашей_таблицы' (1142)
Странно, не находите? Я раньше думал, что debian-sys-maint отличается от обычного root-пользователя лишь тем, что не может создавать учетные записи, ан нет! Заглянув в phpmyadmin мы видим следующее (для просмотра, щелкните по картинке):


Спрашивается, так какого же черта, месье? Пользователь, который может сделать из любой базы данных руины, не может выполнить просмотр VIEW ? Ведь его очень часто используют средства для резервного копирования. Получается, если у вас есть VIEW в базе данных, ваш backup идет к черту.
Поэтому, мой совет, проверьте на досуге, верно ли используете служебных пользователей mysql, и консистентность ваших резервных копий.

Комментариев нет:

Отправить комментарий