在 R 或 R Studio(服务器)中以交互方式输入密码?

2024-02-18

R 有没有办法以交互方式在命令行中输入密码并在屏幕上隐藏它们?我知道有readLine,但我不知道密码可以隐藏在那里。 假设您想使用以下方式连接到数据库ROracle or RMySQL并且不想将密码存储在脚本中,而是让用户在每次执行查询时输入密码。

是的,我们也有过类似的经历question https://stackoverflow.com/questions/2917202/r-way-to-securely-give-a-password-to-r-application在这里,但我觉得情况已经发生了变化,值得再次解决问题。很遗憾tcltk不适用于 RStudio(服务器)。

然而,我看到 R Studio 的人们找到了版本控制支持的解决方案。我记得以前的版本中,每次在 R Studio 中输入我的存储库密码时都可以看到它,但现在这似乎已修复。我知道这可能是 R Studio 技术,但是普通 R 用户在使用 R Studio Server 时是否可以访问它?


实际上R Studio(服务器)提供了一个很好的解决方案。您可以使用以下方式访问它.rs功能。他们提供了一个未记录的密码功能,虽然不能保证永远支持,但确实很好:

.rs.askForPassword("foo")

您可以在此处找到 RStudio 的 Josh 的原始提示:http://support.rstudio.org/help/discussions/questions/1448-password-interaction-with-dbs-on-rstudio-server http://support.rstudio.org/help/discussions/questions/1448-password-interaction-with-dbs-on-rstudio-server

编辑: 截至 2015 年,还有另一个很好的交互式输入密码解决方案。你可以使用shiny有一个带有密码表单的基于网络的小窗口。我与 @hadley 进行的讨论显示了一个示例片段:https://github.com/rstats-db/RPostgres/issues/26 https://github.com/rstats-db/RPostgres/issues/26

编辑: 截至 2017 年,对此又进行了更新。 @m-dz 向我们指出了这一点:rstudioapi::askForPassword("Enter your pw")getPass::getPass()来自R Studio 支持网页 https://support.rstudio.com/hc/en-us/community/posts/115000470088-function-rs-askForPassword-and-R-Markdown。另外,我还意识到有.rs.api.askForPassword()这相当于最初建议的调用 - 至少据我所知。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 或 R Studio(服务器)中以交互方式输入密码? 的相关文章

随机推荐