【问题标题】:Importing a Password from a File to a CLI command Parameter in Linux/Unix在 Linux/Unix 中将密码从文件导入 CLI 命令参数
【发布时间】:2012-10-02 21:16:16
【问题描述】:

我发现很难做到以下几点:

我有一个类似于 ./Something host password 的脚本,它所做的只是将文件从一台主机复制到另一台主机,它只需要主机名和密码,例如: ./Something host1 Password1

我想将其作为日常 Cronjob 运行,但我不想在运行脚本时让密码在 crontab 中可见,甚至不必将密码硬编码为脚本的一部分,而不是将其添加为脚本的一部分命令参数。

所以我决定创建一个名为“Password”的文件,其中包含密码,然后我想使用这个文件并将其中的密码导入密码脚本变量。

Cronjob 将如下所示:

          • /bin/bash /home/yourname/yourscript.sh 我的主机名

如您所见,我想替换密码,而是从文件中检索密码,例如:

          • /bin/bash /home/yourname/yourscript.sh MyHostName $(PasswordFile.txt)

实现这一点的最佳方法是什么?

注意:如果问题仍然没有意义,请告诉我。

【问题讨论】:

  • 您将不得不修改您的问题。给出一些细节。甚至可能是一些代码。现在我不知道你真正想要完成什么。
  • 我认为这可能会发生,我现在编辑我的问题 - 谢谢
  • 进入cron?然后我删除了我的答案,因为它需要交互式密码保护... A
  • @MeaCulpa 目的是从 cron 中删除它,所以我改为从文件中导入它
  • @jordanm 是的,他们可以,他们所要做的就是执行 crontab -l 并且他们可以看到所有内容,我真的不想冒任何风险,那么导入运行脚本时从文件到密码变量的密码?

标签: linux bash shell import passwords


【解决方案1】:

我认为这并不难。假设你的脚本在你的主目录中,你的 crontab -l 看起来像

* * * * * /bin/bash /home/yourname/yourscript.sh

让你的脚本只对你可读:

chmod 700 yourscript.sh

干杯。

【讨论】:

  • 非常感谢您回答我的问题 Raynix,我不知道其他人一直在降级我的问题并删除分数。这正是我想要做的,但是密码仍然可见,因为 Cronjob 看起来像这样: * * * * * /bin/bash /home/yourname/yourscript.sh MyHostName 你可以看到我想要替换密码,而是从文件中检索它,例如: * * * * * /bin/bash /home/yourname/yourscript.sh MyHostName $(PasswordFile.txt) 有没有办法做到这一点?
  • raynix 的意思是你确实将密码硬编码到脚本中,但让脚本只有你自己可读。我想说这也能达到你的目标。
  • 是的,但不幸的是我不能这样做,他们根本不允许对任何密码进行硬编码,并特别要求从单独的文件中检索它,我明白这如何解决我的问题,我非常感谢你们帮助我,但我只需要知道在执行脚本时如何从文件中读取密码?
  • 你的意思是这样的? /bin/bash /path/to/yourscript.sh < password.txt
猜你喜欢
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 2018-10-14
  • 1970-01-01
  • 2019-06-24
相关资源
最近更新 更多