Mantendo Sua Senha Segura
Não é aconselhável especificar uma senha de uma forma que a exponha e possa ser descoberta por outros usuários. Os métodos que você pode usar para especificar sua senha quando executar programas clientes são listados abaixo, juntamente com as determinações de riscos de cada método:
- Nunca forneça a um usuário normal acesso à tabela
mysql.user
. O conhecimento de uma senha criptografada possibilita a conexão como este usuário. As senhas só estão embaralhadas para que não seja possível chegar à senha real que foi usada (acontece muito a utilização de senhas similares em outras aplicações). - Uso da opção
-psua_senha
ou--password=sua_senha
na linha de comando. Isto é conveniente mas inseguro, porque sua senha se torna visível para programas de informação do sistema (como nops
) que pode ser chamado por outros usuários para exibir linhas de comando. (clientes MariaDB normalmente gravam zeros em cima do argumento da linha de comando durante sua sequência de inicialização, mas ainda existe um breve intervalo no qual o valor está visível.) - Uso das opções
-p
ou--pasword
(sem especificar o valorsua_senha
). Neste caso, o programa cliente solicita a senha do terminal:shell>
mysql -u user_name -p
Enter password: ********Os caracteres '
*
' representam sua senha.É mais seguro digitar sua senha desta forma do que especificá-la na linha de comando porque ela não fica visível a outros usuários. Entretanto este método de digitar uma senha é válido somente para programas que você executa de forma interativa. Se você deseja chamar um cliente de um script que não execute interativamente, não existirá oportunidade de digitar a senha do terminal. Em alguns sistemas, você pode descobrir que a primeira linha do seu script é lida e interpretada (incorretamente) como sua senha!
- Armazenar a sua senha em um arquivo de configuração. Por exemplo, você pode listar sua senha na seção
[client]
do arquivo.my.cnf
no seu diretório home:[client] password=sua_senha
Se você armazenar sua senha em um arquivo
.my.cnf
, o arquivo não pode ser lido por seu grupo ou pelos outros usuários. Tenha certeza que o modo de acesso do arquivo é400
ou600
Leia "Arquivo de Opçõesmy.cnf
". - Você pode armazenar sua senha na variável de ambiente
MYSQL_PWD
, mas este método deve ser considerado extremamente inseguro e não deve ser usado. Algumas versões deps
incluem uma opção para exibir o ambiente de processos em execução; sua senha estaria em texto puro para a leitura para todos os usuários. Mesmo em sistemas sem esta versão dops
, seria imprudência assumir que não existe outro método para observar o ambiente de processos. Leia Apêndice F, Variáveis de Ambientes do MariaDB.
Em resumo, os métodos mais seguros seriam que o programa cliente solicitasse a senha ou especificar a senha em um arquivo .my.cnf
corretamente protegido.