简体   繁体   English

使用bash shell脚本加密文件

[英]Encrypt a file using bash shell script

I want to encrypt a file using openssl. 我想使用openssl加密文件。 I can do it by using 我可以通过使用来做到这一点

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

When I run this command, it gets password from me two times. 当我运行此命令时,它会从我那里获取密码两次。 I want to set password with the script and I used 我想用脚本设置密码,我用过

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

but it gives me the following error: 但它给了我以下错误:

Invalid password argument "pritom"
Error getting password 

What can I do now? 我现在能做什么?

Try something like this - 尝试这样的事情 -

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

From the man page: 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.

to hide it from the ps command use : 从ps命令中隐藏它使用:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM