gpt4 book ai didi

linux - 如何从 bash 脚本加密 zip 文件

转载 作者:太空宇宙 更新时间:2023-11-04 05:34:17 26 4
gpt4 key购买 nike

我想使用密码在 bash 脚本中压缩文件,并且当 zip 提示通过和验证时我需要发送密码。

这是代码,它仍然要求 pass 和 pass_confirm:

#!/bin/bash
DIRECTORY=.
for i in $DIRECTORY/*.tar; do
echo 'mypassword' | zip -0 -e $i'.zip' $i;
done

如何将脚本从脚本发送到 zip 命令?

最佳答案

这里真正的问题似乎是OP不明白为什么-P被认为是不安全的。

  -P password
--password password
Use password to encrypt zipfile entries (if any). THIS IS INSECURE!
Many multi-user operating systems provide ways for any user to see the
current command line of any other user; even on stand-alone systems
there is always the threat of over-the-shoulder peeking. Storing the
plaintext password as part of a command line in an automated script is
even worse. Whenever possible, use the non-echoing, interactive prompt
to enter passwords. (And where security is truly important, use strong
encryption such as Pretty Good Privacy instead of the relatively weak
standard encryption provided by zipfile utilities.)

总而言之,它被认为不安全的两个原因是,系统的其他用户可能能够看到您执行的命令,并且房间里的人可能能够在屏幕上看到您的密码。您的尝试完全错过的是“将明文密码存储为自动化脚本中命令行的一部分甚至更糟。”

从安全角度来看,以下内容绝对没有区别:

echo 'mypassword' | zip -e "$i.zip" $i

zip -e "$i.zip" $i -P 'mypassword'

在这两种情况下,您的密码都是命令的一部分,并且在这两种情况下您都将密码以明文形式存储在脚本中。

您需要的是让您的脚本安全地处理您的密码:

password=$(get_password_in_secure_manner)
zip -e "$i.zip" $i -P $password

您可能会意识到 get_password_in_secure_manner 不是一个真正的命令,除非您实现它。它只是一个占位符,说明您可以采取哪些措施安全地将密码输入到脚本中。

总之,-P 本质上并不是不安全的,它只是助长了不安全的行为。它还有助于编写脚本,这正是您正在做的事情。

关于linux - 如何从 bash 脚本加密 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52093920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com