微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails-使用用户输入,rails运行shell命令

我想从Rails应用程序控制器运行shell命令.
我的应用代码是:

cmd = "openssl genrsa -des3 -out testfolder/testkey.key 1024"
system cmd 

比shell会询问我密码,因此,如果您从终端运行此命令,则可以输入密码,但是如果我是从控制器运行,则不能.

由于某些原因,我不想使用Rails OPENSSL.

我试图用谷歌搜索,但没有结果.

我也尝试过这样的事情:

cmd = "openssl genrsa -des3 -out testfolder/testkey.key 1024"
system cmd
system 'echo', '111111Passs'

这不是我的问题的解决方案.

我的问题是:
如何将密码从控制器传递到外壳?
比我该如何提交此命令? (模拟按键盘上的ENTER键)

谢谢

解决方法:

您可以尝试通过参数传递通行证(不推荐):

openssl genrsa -des3 -out testfolder/testkey.key -passout pass:SECRET_PASS 1024

一个更安全的选择是将密码短语写入一个临时文件并使用以下命令:

openssl genrsa -des3 -out testfolder/testkey.key -passout file:passphrase.txt 1024

答案从this SO thread毫不客气地提升了,它具有更多的细节和更好的解释.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐