扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
以一种暴露的可被其他用户发现的方式指定你的口令是不妥当的。当你运行客户程序时,你可以使用下列方法指定你的口令,还有每个方法的风险评估:
-pyour_pass
或--password=your_pass
的选项。这很方便但是不安全,因为你的口令对系统状态程序(例如ps
)变得可见,它可以被其他的用户调用来显示命令行。(一般MySQL客户在他们的初始化顺序期间用零覆盖命令行参数,但是仍然有一个短暂间隔时间内参数值可见的。)
个-p
或--password
选项(没有指定your_pass
值)。在这种情况下,客户程序请求来自终端的口令: shell>mysql - u user_name - p Enter password: ********
客户回应“*”字符到作为输入你的口令的终端使得旁观者不能看见它。因为它对其他用户不可见,与在命令行上指定它相比,这样进入你的口令更安全。然而,这个输入一个口令的方法仅仅为你交互式运行程序是合适的。如果你想要从非交互式运行的一个脚本调用一个客户,就没有从终端输入入口令的机会。
[client]
节列出你的口令: [client] password=your_pass
如果你在“.my.cnf”里面存储口令,文件应该不是组或世界可读或可写的。保证文件的存取模式是400
或600
。见4.15.4 选项文件。
MYSQL_PWD
环境变量中存储口令,但是这个方法必须想到是极不安全的且应该不使用。ps
的某些版本包括显示运行进程的环境的选项;如果你设定MYSQL_PWD
,你的口令将对所有人是显而易见的,甚至在没有这样一个版本的ps
系统上,假设没有其他方法观察到进程环境是不明智的。 总之,最安全的方法是让客户程序提示口令或在一个适当保护的“.my.cnf”文件中指定口令。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者