我想重温一下关于密码的old SO question。像OP一样,我不想以交互方式输入我的密码,但我对如何在我的机器上安全地存储密码并与同事共享脚本感到困惑(我特意添加,将脚本推送到GitHub)。接受的答案涉及将密码存储在.Rprofile
中,但是一位评论者表示这不是一个好主意。
在我的特定用例中,我有一个每天在虚拟机上运行的脚本,我希望我的团队中的其他成员可以访问。在运行结束时,它会发送一封包含mailR
包的电子邮件。此代码查找我的Gmail密码。我已经设置了两步验证,因此mypassword
是第三方密码,而不是我的实际Gmail密码。尽管如此,我仍犹豫与其他人分享这一点。我希望能够将脚本推送到私人git仓库。
send.mail(from = "myemail@gmail.com",
to = tolist,
subject = "my subject",
body = "my message",
smtp = list(host.name = "smtp.gmail.com", port = 465,
user.name = "myusername",
passwd = "mypassword",
ssl = TRUE),
authenticate = TRUE,
html = FALSE,
send = TRUE)
您如何存储mypassword
?
将它存储在.Rprofile
中似乎是一种选择,但我不知道是否存在类似于我在链接到的问题中回答已接受答案时所提到的缺点。
我可以将其存储在auth.R
等其他文件中,并在source('auth.R')
之前运行send.mail
,但这会将密码放在全局环境中。
其他想法?