.txt
txtファイルが圧縮されて別のSFTPサーバーに移動されるファイルとbashスクリプトがあります。
使っています
zip -P pass foo.zip foo.txt
スクリプトにはパスワードが表示されますが、そこにハードコードされたパスワードを保存しないでください。誰でも私を助けることができますか?
答え1
zip
マニュアルページから、
-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.)
マニュアルページで述べたように、これは非常に安全ではありません!
zip
したがって、マニュアルページで次のことをやり直すことができます。
--encrypt
Encrypt the contents of the zip archive using a password which is entered on the terminal in response to a prompt (this will not be echoed; if standard error is not a tty, zip will exit
with an error). The password prompt is repeated to save the user from typing errors.
コマンドは次のようになります。
zip --encrypt foo.zip foo.txt
端末でパスワードを尋ねるが、
Enter password:
Verify password:
updating: foo.txt (stored 0%)
警告する:使用される暗号化技術はzip
それほど強力ではありません。壊れやすい!