ruby – Capistrano 3.0 – 现在如何安全地提示输入密码?
发布时间:2020-12-16 19:06:01 所属栏目:百科 来源:网络整理
导读:在3.0之前有一种方法可以做到这一点: # ...set :mysql_password,proc { Capistrano::CLI.password_prompt "Gimme remote database server password. Don't worry,I won't tell anyone: " }# ...namespace :db do desc 'Dump remote database' task :dump do
在3.0之前有一种方法可以做到这一点:
# ... set :mysql_password,proc { Capistrano::CLI.password_prompt "Gimme remote database server password. Don't worry,I won't tell anyone: " } # ... namespace :db do desc 'Dump remote database' task :dump do run "mysqldump -u #{mysql_user} -p #{mysql_database} > ~/#{mysql_database}.sql" do |channel,stream,data| if data =~ /^Enter password:/ channel.send_data "#{mysql_password}n" end end end end 它会提示输入密码,在您键入时不会显示密码,并且在日志和输出中不会留下任何痕迹. 现在,从3.0开始,我找到了唯一的方法: # ... namespace :db do desc 'Dump remote database' task :dump do ask :mysql_password,nil on roles(:db) do execute "mysqldump -u#{fetch :mysql_user} -p#{fetch :mysql_password} #{fetch :mysql_database} > ~/#{fetch :mysql_database}.sql" end end end 它完成工作,但到处显示密码. 有没有人在3.0中找到一种安全的密码提示方式?谢谢! 解决方法
目前,no,可能是下一个次要版本(3.2):
…
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |