我正在编写一个Perl脚本,该脚本应该在某个时候连接到FTP服务器。
我使用Net::FTP
模块和login()
方法进行连接,但我想知道在脚本中直接编写密码是否安全。我将chmod文件访问711,但我不确定是否足够。
有没有办法以更安全的方式将密码传递给方法?
答案 0 :(得分:3)
如果您不希望机器上的其他人执行它,chmod 700
。有很多原因可以解释密码在单独文件中的好主意。如果将密码移动到配置文件,该文件应为chmod 600
。
如果您希望机器上的其他人执行它,chmod 711
将无法运行。 perl
必须能够阅读脚本才能执行它,因此您需要chmod 755
,这意味着他们将能够看到密码。
想到的唯一解决方案涉及文件权限和set-uid脚本。
scriptuser
。 (您可以使用现有用户,但请记住,脚本将以该用户身份执行。)chown scriptuser script.pl script.conf
。chmod 600 script.conf
chmod 4755 script.pl
使用script.pl
(不是perl script.pl
)执行它。
答案 1 :(得分:0)
无法在脚本中安全地提供密码,但允许自动执行。
您必须将密码存储在某处。
将它存储到外部文件可能更好,这样您就不必隐藏整个脚本。例如,您可能希望检查脚本并将其放入代码存储库,而无需密码。