Очень легко исполнить роль кого-то еще в mysql. Учитывая идентификатор пользователя без пароля (самая слабая безопасность) просто используют mysql -u userid
. Если это имеет пароль, это немного более трудно, но слабый пароль помогает. Если корень не имеет никакого пароля, я могу получить доступ к корню как mysql -u root
. Я могу затем сделать что-либо в базе данных, что корень может.
Использование спецификаций хоста в безопасности является также хорошей идеей, особенно если удаленный доступ или может быть доступным.
Пароли в файлах могут и должны быть несколько защищены полномочиями. Доступ корнем или владелец файла паролей тривиален. Если возможное шифрование пароля на диске должно использоваться. Это делает это немного более трудным к доступу, но все еще уязвимым.
Он пытается запустить yum для установки httpd
/usr/bin/yum -d 0 -e 0 -y install httpd
Попробуйте запустить его как root, но я уверен, что это не удастся, поэтому попробуйте
/usr/bin/yum clean all
/usr/bin/yum -d 0 -e 0 -y install httpd
Если это не сработает, ваши репозитории yum не работает, поэтому вам придется исправить этот файл. Вероятно, файлы в
/etc/yum.repos.d
Хотя ответ Майка определенно решает проблему, я бы сделал то же самое через Puppet.
Например, в качестве первого шага я бы добавил следующий фрагмент кода перед установкой любого пакета
exec {'yum-clean-all':
command => 'yum clean all',
path => '/usr/bin',
user => 'root',
before => Package[httpd],
}
Точно так же любое выполнение, которое необходимо выполнить перед установкой пакетов, должно выполняться через марионетку в качестве первого шага.