如何在会话启动时获取密码

How to get a password at session startup

提问人:gowerc 提问时间:8/15/2018 更新时间:8/19/2020 访问量:328

问:

目前,在我工作的地方,获得对项目工作目录的访问权限(需要提交密码)的过程很复杂。我们有一系列脚本来授予访问权限,并希望将它们放入文件中,以便在 Rstudio 中加载特定项目时自动执行。但是,我们在如何让用户在代码中将密码提交到代码时遇到了问题。作为参考,我们主要在 Rstudio-Server 上工作。.Rprofile.Rprofile

我们尝试输入,但这没有接受任何输入,只是导致:getPass::getPass().Rprofile

WARNING: your platform is not supported. Input is not masked!

同样,我们尝试使用,但这只会导致rstudioapi::askForPassword()

Error: RStudio not running

有没有正确的方法可以让用户在 Rstudio 完成加载后输入密码,或者是否有另一个钩子用于运行代码?.Rprofile

R 密码 rstudio

评论

0赞 Nielsen Rechia 8/17/2020
嗨,你解决了@gowerc吗?
0赞 gowerc 8/19/2020
@NielsenRechia,我们没有:(
0赞 Nielsen Rechia 8/19/2020
我只是发布我的解决方法,也许可以帮助某人。

答:

0赞 Nielsen Rechia 8/19/2020 #1

也许这对某人有帮助

在下面创建一个赞rscript

if(Sys.getenv('PWD') == ""){
    cat('Wellcome!\n')
    pwd <- readline(prompt="Please, insert your password:")
    Sys.setenv(PWD = pwd)
    rm(pwd)
    cat("\014")
    cat("Right, everthing done for you, ", Sys.getenv('USER'), "!\n", sep='')
}

并像Rprofile"source('/usr/local/bin/rscript.R')"

用户将找到 wellcome 消息,插入他的密码,脚本会将其保存为 R 环境变量以供以后使用。('PWD')