【问题标题】:Encrypt a file using bash shell script使用 bash shell 脚本加密文件
【发布时间】:2012-01-28 07:01:04
【问题描述】:

我想使用 openssl 加密文件。我可以使用

openssl des3 -salt -in /pritom/uaeyha_com.sql -out /pritom/a.ss 

当我运行这个命令时,它会从我这里获得两次密码。我想用脚本设置密码,我用了

openssl des3 -salt -in /pritom/uaeyha_com.sql -out /pritom/a.ss -pass pritom 

但它给了我以下错误:

Invalid password argument "pritom"
Error getting password 

我现在能做什么?

【问题讨论】:

    标签: linux bash shell encryption openssl


    【解决方案1】:

    试试这样的 -

    openssl des3 -salt -in /pritom/uaeyha_com.sql -out /pritom/a.ss -pass pass:pritom
    

    来自man 页面:

    PASS PHRASE ARGUMENTS
    Several commands accept password arguments, typically using -passin and -passout for input and output passwords respectively. These allow the password to be obtained from a variety of sources. Both of these options take a single argument whose format is described below. If no password argument is given and a password is required then the user is prompted to enter one: this will typically be read from the current terminal with echoing turned off.

       pass:password
                 the actual password is password. Since the password is visible to utilities (like 'ps' under Unix)
                 this form should only be used where security is not important.
    
       env:var   obtain the password from the environment variable var. Since the environment of other processes is
                 visible on certain platforms (e.g. ps under certain Unix OSes) this option should be used with
                 caution.
    
       file:pathname
                 the first line of pathname is the password. If the same pathname argument is supplied to -passin and
                 -passout arguments then the first line will be used for the input password and the next line for the
                 output password. pathname need not refer to a regular file: it could for example refer to a device
                 or named pipe.
    
       fd:number read the password from the file descriptor number. This can be used to send the data via a pipe for
                 example.
    
       stdin     read the password from standard input.
    

    【讨论】:

    • 不客气。请阅读当您在命令行上传递密码时,如果他们执行ps -ef,每个人都可以看到该部分。所以最好使用-pass file:pathname 从文件中传递它。祝你好运:)
    • 我会在我的 .sh 文件中使用这段代码,所以不会有压力。谢谢........
    【解决方案2】:

    要从 ps 命令中隐藏它,请使用:

    temp_varX=pritom ;
    openssl .....  -pass fd:0 <<< "$temp_var"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-28
      • 2018-02-23
      • 1970-01-01
      相关资源
      最近更新 更多