У меня есть некоторые сценарии для резервного копирования данных. Некоторые из них должны базироваться доступ, таким образом, я использую их с sudo
. Однако иногда я запутываюсь, например, для резервного копирования MySQL, которому также нужен пароль root MySQL.
Я теперь реализовал обходное решение в сценарии удара как это
echo "Please enter root password"
sudo echo "Ok"
sudo mysqldump --all-databases --opt -u root -p > ~/backup.dump
Идея позади этого: sudo пароль будет кэшироваться. Если это будет вводиться в начале, то это не будет запрошено во время резервного копирования MySQL, таким образом, это не сможет больше путаться с паролем root MySQL.
Действительно ли этот подход безопасно использовать или является там чем-то не так с ним?
тот подход состоит в том, как сохраняют как любая нормальная эксплуатация sudo
.
Когда Вы используете sudo
, пароль кэшируется в конфигурации по умолчанию.
И Вы используете фиктивную команду для помещения пароля в тот стандартный кэш, командой, делающей ничто, как корень - который, конечно, не опасен.
sudo
толькоПоскольку Ваш пример использует mysqldump
, который также использует пароль, я хотел бы ясно дать понять, что вышеупомянутое не связано с mysql паролем, это только относится для sudo
на строке в качестве примера sudo mysqldump ...
.
Особенно, не решает проблему предоставления пароля к mysqldump
и т.д. в сценарии, не имея его обнаруживаются на командной строке в ps
, top
или любой диспетчер процессов GUI всем пользователям в системе.
Дополнительная информация:
Тайм-аут sudo
кэш пароля составляет 15 минут по умолчанию и может быть изменен путем установки timestamp_timeout
в sudoers
. Используя sudo visudo
, добавьте строку как
Defaults timestamp_timeout=30
кому: /etc/sudoers
. (Набор timestamp_timeout
кому: 0
отключить кэш.)