在Perl脚本上写FTP密码是否安全?

时间:2015-08-31 09:26:41

标签: perl security ftp passwords

我正在编写一个Perl脚本,该脚本应该在某个时候连接到FTP服务器。

我使用Net::FTP模块和login()方法进行连接,但我想知道在脚本中直接编写密码是否安全。我将chmod文件访问711,但我不确定是否足够。

有没有办法以更安全的方式将密码传递给方法?

2 个答案:

答案 0 :(得分:3)

如果您不希望机器上的其他人执行它,chmod 700。有很多原因可以解释密码在单独文件中的好主意。如果将密码移动到配置文件,该文件应为chmod 600

如果您希望机器上的其他人执行它,chmod 711将无法运行。 perl必须能够阅读脚本才能执行它,因此您需要chmod 755,这意味着他们将能够看到密码。

想到的唯一解决方案涉及文件权限和set-uid脚本。

  1. 在配置文件中移动密码。
  2. 创建用户以拥有此应用程序。我们称之为scriptuser。 (您可以使用现有用户,但请记住,脚本将以该用户身份执行。)
  3. chown scriptuser script.pl script.conf
  4. chmod 600 script.conf
  5. chmod 4755 script.pl
  6. 使用script.pl(不是perl script.pl)执行它。

答案 1 :(得分:0)

无法在脚本中安全地提供密码,但允许自动执行。

您必须将密码存储在某处

将它存储到外部文件可能更好,这样您就不必隐藏整个脚本。例如,您可能希望检查脚本并将其放入代码存储库,而无需密码。