1. Как изменить пароль пользователя mysql
Речь идёт именно о самостоятельной смене пароля пользователем. Конечно, действуя из-под root-а Вы можете сменить пароль любого полльзователя. Но в данном случае стоит задача обновить пароли, используемые на почтовом сервере. Кстати, эту операцию рекомендуется делать один раз в 2-3 месяца. Итак, пользователь postfixadmin меняет свой пароль mysql из под консоли mysql.
Входим на сервер, ипользуя текущий пароль и получам информацию о текущем пользователе:
dmitry@mail:/$ mysql -u postfixadmin -h localhost -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Server version: 5.5.35-0+wheezy1 (Debian) mysql> SELECT CURRENT_USER(); +------------------------+ | CURRENT_USER() | +------------------------+ | postfixadmin@localhost | +------------------------+ 1 row in set (0.00 sec)
Теперь собственно, изменяем пароль:
mysql> SET PASSWORD FOR 'postfixadmin'@'localhost' = PASSWORD('new password'); Query OK, 0 rows affected (0.00 sec) mysql> Bye
2. Как изменить пароли в текстовых конфигурационных файлах под linux
На помощь придёт замечателньая утилита sed. Базовый пример, который позволит Вам заменить пароли одновременно в куче текстовых конфигурационных файлов, следующий:
root@mail:/# sed -i 's/old-password/new-password/g' *.conf
В частности, раз в 3 месяца я обновляю пароли для пользователя postfixadmin в базе mysql и потом, соответственно для Postfix и Dovecot. В следующем примере `Sewn4Otik&` – старый пароль, `%OckIjCib8` – новый пароль:
root@mail:/# sed -i 's/Sewn4Otik&/%OckIjCib8/g' /etc/postfix/mysql-*.cf root@mail:/# sed -i 's/Sewn4Otik&/%OckIjCib8/g' /etc/dovecot/{dovecot-dict-sql-domain.conf,dovecot-dict-sql-user.conf,dovecot-sql.conf.ext} root@mail:/# sed -i 's/Sewn4Otik&/%OckIjCib8/g' /etc/postfixadmin/dbconfig.inc.php
Не забудьте экранировать обратный слэш, если таковой имеется в вашем пароле, и не используйте знак # – так как он является символом комментария в конфигурационных файлах многих служб... Да и службы рестартануть не забудьте)